Posted on 2007-04-30 15:27
dayue 阅读(387)
评论(0) 编辑 收藏 所属分类:
面向对象与设计模式
- 单一职责原则(SRP):一个类应当只有一个改变的原因,类只需要知道一件事情,它们应当有一个单独的职责,要点就是当一个类需要改变时,应当只有一个原因。
- 开放-封闭原则(OCP):软件实体(类、模块、函数等)应当为扩展而开放,又为修改而封闭。这个原则有一个相当详细的定义,但是一个简单的意思是:你应当能够改变一个模块的周边环境而无须改变模块本身。
- Liskov替换原则(LSP):子类型(subtypes)必须是为它们的基类型(base types)可替代的。
- 依存关系倒置原则(DIP) :A.高层模块应当不依赖低层模块,它们应当依赖于抽象。
B.抽象应当不依赖于细节,细节应当依赖于抽象。
更好的描述是:不要依赖那些容易变化的具体类。如果你要继承一个类,从一个抽象类继承吧。如果你要持有一个类的引用,从一个抽象的类引用吧。如果你要调用一个函数,从一个抽象的函数调用吧。
- 接口隔离原则(ISP):客户不应当依赖那些它们根本不用的方法。
总结:
五个简单的原则是:
1、SRP--一个类应当只有一个发生变化的原因。
2、OCP――应当能够改变一个类的环境,而无须改变类本身。
3、LSP――避免造成派生类的方法非法或退化,一个基类的用户应当不需要知道这个派生类。
4、DIP ――用依赖于接口和抽象类来替代依赖容易变化的具体类。
5、ISP――给一个对象的每一个用户一个接口,这个接口仅有用户需要的方法。