低耦合、高内聚
OOP设计原则主要提供了一个方向,使得我们的程序设计得更加合理,从而获得更好的可扩展性、可维护性。主要包括以下几个原则:
1、
OCP(Open-Closed Principle) 开放封闭原则。
对扩展开放,对修改关闭。即在不修改原有程序源码的情况下对其进行扩展。实现开闭原则的关键就在于“抽象”。
“作为系统设计的抽象层,要预见所有可能的扩展,从而使得在任何扩展情况下,系统的抽象底层不需修改;同时,由于可以从抽象底层导出一个或多个新的具体实
现,可以改变系统的行为,因此系统设计对扩展是开放的。 ” 这个原则是OOP的基石,其他原则主要来实现本原则。
2、
SRP (Simple Responsibility Pinciple)单一职责原则。
一个类一般应该设计成只有一个职责,如果设计成具备很多职责,那么任何一个职责的改变都会引起这个类的修改,相关引用该类的代码也可能受到影响。不同的职责或功能应该由不同的类来实现,这样可以很好的控制变化带来的影响粒度。
3、
DIP (Dependence Inversion Principle)依赖倒转原则。
抽象不应该依赖于实现细节,实现细节应该依赖于抽象;高层不应该依赖于底层,都应该依赖于抽象。针对接口编程: 应该用接口或者抽象类声明变量、方法参数、方法返回类型等。
4、
LSP (Liskov Substitution Principle)里氏代换原则。
子类型完全可以替换父类型,而不需要任何修改,并且获得期望的结果。
5、
ISP (Interface Segregation Principle)接口隔离原则。
客户端不应该可以访问不需要的方法,这些不需要的方法是一种有害的耦合性。
所以应该设计多个专门接口而不是单个复杂的接口,客户端仅依赖最小的接口类型。
6、
LoD (Law of Demeter)迪米特法则。
即最少知识原则。一个对象应当对其他对象有尽可能少的了解。只和最直接的类交互,对第三方可以通过转达交互,从而减少对象间的耦合性。
7、
CARP (Composite/Aggregate Reuse Principle)合成/聚合复用原则。
多聚合、少继承,实现复用性。聚合的复用是一种封闭性的复用,被复用者对复用者隐藏了自身细节,而继承是一种开放性的复用,子类可以获取父类型相关的细节,破坏了封闭性。
posted on 2011-03-31 14:07
liucs 阅读(386)
评论(0) 编辑 收藏 所属分类:
架构与设计