提高一个软件系统的可维护性和可复用性
一:单一职责原则:一个类只负责一个功能领域原则
二:接口隔离原则:使用多个专门接口,不使用单一的总接口。
三:开闭原则:对扩展开放,对修改关闭。
四:依赖倒转原则:细节依赖于抽象,而抽象不应该依赖于细节
五:合成复用原则:尽量使用组合达到复用,避免使用继承实现复用。
原理:
(1)通过继承来进行复用的主要问题在于继承复用会破坏系统的封装性,因为继承会将基类的实现细节暴露给子类,由于基类的内部细节通常对子类来说是可见的,如果基类发生改变,那么子类的实现也不得不发生改变;
(2)由于组合或聚合关系可以将已有的对象(也可称为成员对象)纳入到新对象中,使之成为新对象的一部分,因此新对象可以调用已有对象的功能,这样做可以使得成员对象的内部实现细节对于新对象不可见,相对继承关系而言,其耦合度相对较低,成员对象的变化对新对象的影响不大。
(3)如果两个类之间是“Has-A”的关系应使用组合,如果是“Is-A”关系可使用继承。
六:里氏代换原则 : 所有使用基类的地方,可以透明的使用子类来替代。
七:迪米特原则:一个软件实体应该金可能的与其他软件实体相互作用。
迪米特法则可降低系统的耦合度,使类与类之间保持松散的耦合关系。应该尽量减少对象之间的交互,如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用,如果其中的一个对象需要调用另一个对象的某一个方法的话,可以通过第三者转发这个调用。
设计原则
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...