设计模式简述 - 原则

OO基本关系

面型对象设计的原则易维护 易扩展 易复用 灵活多样

 

单一职责原则

对一个类来说 承担的指责太多等于将职责耦合在了一起,一个职责发生变化时可能会小若或者抑制这个类完成其他的职责,耦合会导致脆弱的设计。发生变化时可能会产生意想不到的错误。软件设计要做的就是发现职责并相互分离。。

 

开放封闭原则

软件实体(类 模块 函数等)应该可以扩展,但是不可修改。对于扩展是开放的 对于修改是封闭的。我们做任何系统的时候都不要之王需求一开始就是确定的,在更改需求的时候对程序的修改是通过增加代码进行的而不是修改现有的代码。开闭原则是目标,里氏代换原则是基础,依赖倒转原则是手段


依赖倒转原则

抽象不应该依赖细节,细节应该依赖抽象。 就是追对接口编程,不是针对实现编程。

A.高层模块不应该依赖低层模块。两个都应该依赖抽象

B.抽象不应该依赖细节。细节应该依赖抽象

拿电脑来说,无论主板、内存、CPU、硬盘都是在针对接口设计的,如果针对实现来设计,内存就要对应到具体的某个品牌的主板,这样就必须只能换跟以前一模一样的同一厂家同一型号的。

里氏代还原则

子类型必须能够替换掉它们的父类型。在程序里用子类替换父类后程序的行为没有变化,那么他就满足里氏代换原则。

举例 “我喜欢动物”,狗是他的子类,所以我喜欢狗。猫也是他的子类所以我也喜欢猫。如果用子类“狗”替换父类后 变成我喜欢狗,但是不喜欢猫。这样就不满足里氏代换原则。

迪米特法则-最少知识原则

一个软件实体应该尽可能少的与其他实体发生相互作用,在类的结构上应该尽量减少成员的访问权限。其根本是降低耦合,耦合越弱利于复用

 

合成聚合复用原则

尽量使用对象组合,而不是继承来达到复用的目的。组合/聚合可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分。要尽量使用合成/聚合,尽量不要使用继承。

 

 

>

猜你喜欢

转载自blog.csdn.net/liuyubibn/article/details/81277177