由于抽象灵活性好,适应性广,只要抽象的合理,能够基本保持软件架构的稳定。而软件中易变的细节,咱们用从抽象派生的实现类来进行扩展,当软件须要发生变化时,咱们只须要根据需求从新派生一个实现类来扩展就能够了。固然前提是咱们的抽象要合理,要对需求的变动有前瞻性和预见性才行。html
用抽象构建框架,用实现扩展细节的注意事项而已:单一职责原则告诉咱们实现类要职责单一;里氏替换原则告诉咱们不要破坏继承体系;依赖倒置原则告诉咱们要面向接口编程;接口隔离原则告诉咱们在设计接口的时候要精简单一;迪米特法则告诉咱们要下降耦合。而开闭原则是总纲,他告诉咱们要对扩展开放,对修改关闭。编程
1.1 单一职责原则:设计模式
定义:不要存在多于一个致使类变动的缘由。通俗的说,即一个类只负责一项职责。 架构
1.2 里氏替换原则:框架
定义:全部引用基类的地方必须能透明地使用其子类的对象。post
1.3 依赖倒置原则:spa
定义:高层模块不该该依赖低层模块,两者都应该依赖其抽象;抽象不该该依赖细节;细节应该依赖抽象。.net
1.4 接口隔离原则:设计
定义:客户端不该该依赖它不须要的接口;一个类对另外一个类的依赖应该创建在最小的接口上。htm
1.5 迪米特法则:
定义:一个对象应该对其余对象保持最少的了解。尽可能下降类与类之间的耦合。
1.6 开闭原则:
这个原则其实就是对上面五个原则的一个总结,只要遵照上面五个,这个天然就造成了
http://www.uml.org.cn/sjms/201211023.asp
参考:http://blog.csdn.net/jason0539/article/details/44956775