posts - 59,  comments - 37,  trackbacks - 11

一、单一职责原则

就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因;

一个合理的类,应该仅有一个引起它变化的原因,即单一职责;

二、开放封闭原则

实现开放封闭原则的关键是抽象;

依据开闭原则,我们尽量不要修改类,只扩展类,但在有些情况下会出现一些比较怪异的状况,这时可以采用几个类进行组合来完成;

将可能发生变化的部分封装成一个对象,封装变化是实现"开闭原则"的一个重要手段,如经常发生变化的状态值,如温度,颜色,积分,排名等等,可以将这些作为独立的属性,如果参数之间有关系,有必要进行抽象。对于行为,如果是基本不变的,则可以直接作为对象的方法,否则考虑抽象或者封装这些行为;

三、Liskov替换原则

保证系统或子系统有良好的扩展性。只有子类能够完全替换父类,才能保证系统或子系统在运行期内识别子类,因而使得系统或子系统有了良好的扩展性。

此原则和“开放封闭原则”的作用有点类似,其实这些面向对象的基本原则就2条:

1:面向接口编程,而不是面向实现;

2:用组合而不主张用继承。

四、依赖倒置原则

描述:

1、高层模块不应该依赖于低层模块,二者都应该依赖于抽象。

2、抽象不应该依赖于细节,细节应该依赖于抽象。

启发式规则:

1、任何变量都不应该持有一个指向具体类的指针或者引用

2、任何类都不应该从具体类派生(始于抽象,来自具体)

3、任何方法都不应该覆写它的任何基类中的已经实现了的方法

五、接口隔离原则

使用多个专门的接口比使用单一的总接口要好。

一个类对另外一个类的依赖性应当是建立在最小的接口上的。

一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。

posted on 2007-08-13 17:33  EasyWriter  阅读(146)  评论(0编辑  收藏