[转]SOLID开发原则-面向对象

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 接口分离原则

Steve Smith在5月份的微软TechED 2009上有个SOLIDify Your ASP.NET MVC的讲座, derick.baileySOLID Development Principles – In Motivational Pictures很好的解释了SOLID原则。

单一责任原则: 并不是你能够这样做,你就应该这样做
当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。 
 [转]SOLID开发原则-面向对象

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

[转]SOLID开发原则-面向对象

里氏替换原则  如果它看起来像个鸭子,声音叫声听起来像个鸭子,但却需要电池——那你很可能归纳错了
当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系 
[转]SOLID开发原则-面向对象  
依赖倒置原则  你会把灯泡直接连接到墙里的电线上吗?

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

2. 抽象不应该依赖于细节,细节应该依赖于抽象 
[转]SOLID开发原则-面向对象

接口分离原则  你想让我把插头插上,插在哪?
不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。

[转]SOLID开发原则-面向对象

这几条原则是非常基础而且重要的面向对象设计原则。正是由于这些原则的基础性,理解、融汇贯通这些原则需要不少的经验和知识的积累。上述的图片很好的注释了这几条原则。

上一篇:从数组中随机取n条不重复的数据


下一篇:慕课网-安卓工程师初养成-3-6 Java中的逻辑运算符