设计模式基本原则
单一职责原则
一个类应该仅有一个引起其变化的原因
开放封闭原则
软件实体(类、模块、函数等)应该可以扩展,但不可以修改。即:开放扩展性,封闭修改性
依赖倒转原则
高层模块不应该依赖于低层模块,两者都应该依赖于抽象
抽象不能依赖于细节,细节依赖于抽象
在软件中,如果将父类替换成子类,其行为不应该变化。
针对抽象编程,而不是针对细节编程
迪米特法则(最小知识原则)
如果两个类不必直接通信,就不应该直接相互作用。如果其中一个类需要调用另一个类方法,可以通过第三者转发。
一个类要尽量降低成员的访问权限。
创建型:使得动态创建对象更灵活
结构型:添加第三方类降低耦合
行为型:满足对象之间的动态行为特征
四、OO Principles
封装变化的量
组合优先于继承
面向接口编程,而非实现
寻求对象继承间的松耦合
Classes should be open for extension but closed for modification
Identify the aspects of your application that vary and separate them from what stays the same.
http://blog.163.com/zhoumhan_0351/blog/static/399542272010230103414517