1.abstract-oriented
面向抽象原则
我的理解就是把程序的功能抽象成接口,面向接口编程。
2.open-close principle
开-闭原则
让设计对扩展开发,对修改关闭。
如果针遵守开闭原则,那么这个设计一定是易于维护,因为增加新模块的时候,不必更改核心模块
3.多用组合,少用继承
方法复用有两种技术,一种是继承,另一种组合。
继承的缺点:
1.子类和父类是强耦合关系,父类发生变化,可能会导致子类发生变化。
2.无法在运行期间改变从父类继承的方法的行为。
3.是一种白盒复用
组合是把其它类作为一个成员变量构成自己的组成部
组合的优点:
1.是一种黑盒复用
2.在运行期间可以动态指定包含的对象
4.高内聚,低耦合-
内聚是指内容相关的行为放在一个类里。就是一个类应该有自己应该具备的功能。
耦合是指类与类之间的相交。
这样做的好处是修改系统的不部份功能,不至于影响其它部份。