1、单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。

2、开放-封闭原则:软件实体(类、模块、函数等等)应该可以扩展的,但是不可修改。即对扩展是开放的,对修改是封闭的。

3、依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象。

     说明:就是针对接口编程,而不是针对实现编程,高层模块和底层模块之间通过接口相连接,即使高层模块或底层模块发生了变化,只要接口不变就不会影响到其他模块,降低耦合度,依赖倒置原则可以说是面向对象设计的标志,用哪种语言编写程序不重要,如果编写时考虑的都是如何针对抽象编程而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之就只是过程化的设计了。

4、里氏代换原则:子类型必须能够替换它们的父类型。

5、合成/聚合复用原则:能用合成关系实现的就不用继承关系实现,聚合用来表示“拥有”关系或者整体与部分的关系。而合成是一种表示强的多的“拥有”关系.

6、接口隔离原则:接口的设计应该尽可能的小,每个接口都应该是一个角色,不可以不同角色的接口合并成一个接口。

7、迪米特法则:又叫最小知识原则,降低类、模块内部成员的访问权限,减少内部细节和外部的联系。

  迪米特法则所谈论的就是对对象之间的信息量、流线以及信息的影响的控制。在软件系统当中,一个模块设计的好不好的最主要也是最重要的标识就是该模块在  多大程度上将自己的内部数据和其他有关的细节隐蔽起来。

  • 在类的划分上应当创建有弱耦合的类
  • 在类的设计结构上,每一个类都应当尽量降低成员的访问权限,一个类不应当public自己的属性而应该提供取值和赋值的方法。
  • 在类的设计上,只要有可能就应当设置成不变类。
  • 在对其他类的引用上,一个对象对其他对象的引用应当降到最低。

 

posted on 2013-07-10 09:13  Kelly_HanShuai  阅读(305)  评论(0)    收藏  举报