代码改变世界

OO中的设计原则

2008-09-17 14:10  Virus-BeautyCode  阅读(594)  评论(1编辑  收藏  举报
今天看了一下王涛写的《你必须知道的.NET》一书,感觉还是很不错的,对于初级或者中级的人来说是一本很好的书。

在学习完语言之后,又练习使用了语言之后,就想要了解一些深层次的东西,比如说设计模式,设计原则,OO等,从这本书里面都可以找得到,感谢作者写出这么好的书。
现在将书中的OO设计原则部分做了一下摘抄。
OO的5个原则分别是:单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则和Liskov替换原则。


设计原则                         英文表达                                       说明

单一职责原则                     SRP,Single Responsibility Principle           一个类,应该仅有一个引起它变化的原因。
                                                                                不要将变化原因不同的职责封装在一起,而
                                                                                应该分离

开放封闭原则                     OCP,Open Closed Principle                     软件实体应当对修改关闭,对扩展开放

依赖倒置原则                     DIP,Dependency Inversion Principle            依赖于抽象,而不要依赖于具体,因为抽象
                                                                                相对稳定

接口隔离原则                     ISP,Interface Segregation Principle           尽量应用专门的接口,而不是单一的总接口,接口
                                                                                接口应该面向用户,将依赖建立在最小的接口上

Liskov替换原则                   LSP,Livkov Substitution Principle             子类必须能够替换其基类

合成/聚合复用原则                CARP,Composite/Aggregate Principle            对新对象中聚合已有对象,使之成为新对象的成员
                                                                                ,从而通过操作这些对象达到复用的目的。合成
                                                                                方式较继承方式耦合更松散,所以应该少继承、
                                                                                多耦合。

迪米特法则                       LoD,Law of Demeter                            又叫最少知识原则,指软件实体应该尽可能少的和
                                                                                其他软件实体发生相互作用。