第三章 单一责任原则 第四章 开放封闭原则

单一责任(SRP),就是一个类而言,应该仅有一个引起它变化的原因。( 不知道是不是有机会用QT 作一个俄罗斯方块的游戏)逻辑和界面分离是一个很重要的原则。
如果一个类承担的责任过多,就等于把这些责任耦合在一个,一个指责的变化可能会削弱或者抑制这个类完成其他责任的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。适当的使用映射?抽象?来减少对于界面的依赖。
软件设计真正要作的许多内容,就是发现指责并把那些指责相互分离,其实要去判断是否分离类也不难,如果你能够想到多于一个动机去改变一个类,那么这个类就具有多余一个的指责。

开放封闭原则:就是说软件实体(类,模块,函数等等),应该是可以扩展的,但是不可以修改。
OPEN FOR EXTENSION, AND CLOSED FOR MODIFICATION。

怎样的设计才能面对需求的改变却可以保持相对的稳定,从而使得系统可以在第一个版本以后不断的推出新的版本。
无论模块是多么的封闭,都存在一些无法对之封闭的变化,既然不可能完全的封闭,实际人员必须对于他设计的模块应该对哪种变化封闭做选择。他必须猜测出最可能发生的变化种类,然后构造抽象来隔离变化。


面对需求,对于程序的改动是通过增加新的代码进行的,而不是修改现有的代码。
开放封闭原则是面向对象的核心。开发人员应该对于程序中呈现的频繁的变化那部分做出抽象,然而,对于应用程序中的每个部分可以的进行抽象同样不是一个好主意。 拒绝不成熟的抽象和抽象本身一样的重要。

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...