【转】面向对象设计的SOLID原则

http://www.cnblogs.com/shanyou/archive/2009/09/21/1570716.htmlhtml

 

S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。编程

SRP The Single Responsibility Principle  单一责任原则
OCP The Open Closed Principle  开放封闭原则
LSP The Liskov Substitution Principle 里氏替换原则
DIP The Dependency Inversion Principle 依赖倒置原则
ISP The Interface Segregation Principle 接口分离原则

单一责任原则: 
当须要修改某个类的时候缘由有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只作一种类型责任,当这个类须要承当其余类型的责任的时候,就须要分解这个类。 编码

SingleResponsibilityPrinciple2_71060858

开放封闭原则 
软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。spa

OpenClosedPrinciple2_2C596E17 

里氏替换原则 
当一个子类的实例应该可以替换任何其超类的实例时,它们之间才具备is-A关系 
LiskovSubtitutionPrinciple_52BB5162  
依赖倒置原则
1. 高层模块不该该依赖于低层模块,两者都应该依赖于抽象 
2. 抽象不该该依赖于细节,细节应该依赖于抽象 
DependencyInversionPrinciple_0278F9E2设计


接口分离原则 
不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。 3d

InterfaceSegregationPrinciple_60216468

这几条原则是很是基础并且重要的面向对象设计原则。正是因为这些原则的基础性,理解、融汇贯通这些原则须要很多的经验和知识的积累。上述的图片很好的注释了这几条原则。htm

相关文章
相关标签/搜索