> 文章列表 > 1.设计模式简介

1.设计模式简介

1.设计模式简介

一、设计模式的目的

1. 代码重用性

2. 可读性

3. 可扩展性

4. 可靠性

5. 高内聚,低耦合

二、设计模式七大原则

1. 单一职责原则

1)降低类的复杂度,一个类只负责一项职责

2)提高类的可读性,可维护性

3)降低变更引起的风险

4)通常情况下,应遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中的方法数量足够少,可在方法级别保持单一职责原则

2. 接口隔离原则

1)客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上

2)类 A 通过接口 interface1 依赖类 B,类 C 通过接口 interface1 依赖类 D,如果接口 interface1 对于类 A 和类 C 来说不是最小接口,那么类 B 和类 D 必须实现他们不需要实现的方法

3)按隔离原则应处理为:将接口 interface1 拆分为独立的几个接口,类 A 和类 C 分别与他们需要的接口建立依赖关系;也就是采用接口隔离原则

3. 依赖倒置原则

1)高层模块不应该依赖低层模块,二者都应该依赖其抽象

2)抽象不应该依赖细节,细节更应该依赖抽象

3)依赖倒置的中心思想是面向接口编程

4)依赖倒置原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多;以抽象为基础搭建的架构比以细节为基础的架构要稳定的多;在 Java 中,抽象指的是接口或抽象类,细节就是具体的实现类

5)使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成

4. 理氏替换原则

1)所有引用基类的地方必须能透明的使用其子类的对象

2)在子类中尽量不要重写父类的方法

3)继承实际上让两个类耦合性增强了,应尽量通过聚合,组合,依赖来解决问题

5. 开闭原则

1)一个软件实体如类,模块和函数应该对扩展开放,对修改关闭;用抽象构建框架,用实现扩展细节

2)当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是修改已有的代码

6. 迪米特原则

1)一个对象应对其它对象保持最小的了解

2)类与类之间的关系越密切,耦合度越大

3)迪米特原则即最小知道原则,一个类对自己依赖的类知道的越少越好;对于被依赖的类不管多复杂,都尽量将逻辑封装在类的内部;对外除了提供 public 方法,不对外泄露任何信息

7. 合成复用原则

尽量使用合成/聚合的方式,而不是继承

三、设计原则核心思想

1)找出应用中可能需要变化的地方,把它们独立处理,不要和不需要变化的代码混在一起

2)针对接口编程,而不是针对实现编程

3)尽量降低交互对象之间的耦合度