没有合适的资源?快使用搜索试试~ 我知道了~
23种设计模式1
需积分: 0 15 浏览量
2022-08-03
15:03:00
上传
评论
收藏 1.86MB PDF 举报
第一章设计模式简介31.1 设计模式简介31.2 设计模式分类3第二章设计模式六原则32.1 设计模式六原则简介 32.2 详细说明这六种设计原则 32.3 面
资源详情
资源评论
资源推荐

23 种设计模式(Java 版)
时间
版本
作者
备注
2017 年 8 月 24 日
V1.0
shenjy
2017 年 12 月 24 日
V1.1
shenjy

目录
第一章 设计模式简介
.................................................................................................................
3
1.1 设计模式简介
..............................................................................................................................
3
1.2 设计模式分类
......................................................................................................................
3
第二章 设计模式六原则
.............................................................................................................
3
2.1 设计模式六原则简介
.........................................................................................................
3
2.2 详细说明这六种设计原则
.................................................................................................
3
2.3 面向对象编程思想
.............................................................................................................
4
2.4 类与类之间的关系
.............................................................................................................
4
第三章 23 种设计模式
................................................................................................................
6
3.1 创建型模式
..........................................................................................................................
7
3.1.1 工厂模式
...................................................................................................................
7
3.1.2 单例模式
.................................................................................................................
15
3.1.3 建造者模式
............................................................................................................
22
3.1.4 原型模式
................................................................................................................
27
3.2 结构型模式
........................................................................................................................
31
3.2.1 适配器模式
............................................................................................................
31
3.2.2 桥接模式
................................................................................................................
35
3.2.3 组合模式
................................................................................................................
38
3.2.4 装饰模式
..............................................................................................................
42
3.2.5 外观模式
................................................................................................................
46
3.2.6 享元模式
................................................................................................................
49
3.2.7 代理模式
................................................................................................................
53
3.3 行为型模式
........................................................................................................................
58
3.3.1 策略模式
................................................................................................................
58
3.3.2 模板方法模式
........................................................................................................
60
3.3.3 观察者模式
............................................................................................................
62
3.3.4 迭代器模式
.............................................................................................................
67
3.3.5 责任链模式
............................................................................................................
69
3.3.6 命令模式
................................................................................................................
74
3.3.7 备忘录模式
............................................................................................................
76
3.3.8 状态模式
................................................................................................................
79
3.3.9 访问者模式
............................................................................................................
81
3.3.10 中介者模式
..........................................................................................................
84
3.3.11 解释器模式
..........................................................................................................
86
第四章 设计模式之间关系图
..................................................................................................
86

第一章 设计模式简介
1.1 设计模式简介
设计模式(Design Pattern)是一套被反复使用、多数人软件开发人员所知晓
的、经过分类的、代码设计经验的总结。使用设计模式不仅可以避免软件架构设
计上的错误,还可以提高编码的效率,较快地看懂一个框架的源代码。
1.2
设计模式分类
设计模式一共分为三大类,分别是创建型模式,结构型模式和行为型模式。
其中,创建型模式主要包括工厂模式,单例模式,建造者模式,原型模式;结构
型模式主要包括适配器模式,装饰模式,代理模式,外观模式,桥接模式,组合
模式,享元模式;行为型模式主要包括策略模式,模板方法模式,观察者模式,
迭代器模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中
介者模式,解释器模式。
第二章 设计模式六原则
2.1 设计模式六原则简介
在使用设计模式的时候,要遵守下述的六种原则。它们分别是开闭原则,单
一职责原则,里氏替换原则,依赖倒转原则,接口隔离原则和迪米特法则。
2.2 详细说明这六种设计原则
开闭原则:开闭原则是模式的最基本原则,一句话概括:对扩展开放,对修
改关闭。在需求变更时,系统应该是通过扩展现有系统而不是修改原有逻辑,这
是衡量一个架构优劣的最基本的条件。本原则是要求系统灵活性的体现,使系统
易于维护和升级。
单一职责原则:又称单一功能原则。它规定一个类应该只有一个发生变化的原
因。该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式
和实践》一书中给出的。

里氏替换原则:任何基类可以出现的地方,子类一定可以出现。 LSP 是继承
复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基
类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原
则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与
子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具
体步骤的规范。
依赖倒转原则:这个原则中有两重含义。第一,高层次的模块不应该依赖于
低层次的模块,他们都应该依赖于抽象;第二,抽象不应该依赖于具体实现,具
体实现应该依赖于抽象。简单的讲,就是面向抽象编程。
接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依
赖应该建立在最小的接口上。这个看具体的应用上,根据应用来做接口粒度的大
小的划分。
迪米特法则:又叫作最少知道原则,就是说一个对象应当对其他对象有尽可
能少的了解,不和陌生人说话。也可以说,类尽量不要与其他类相互作用,减少
了之间的耦合度。
2.3 面向对象编程思想
首先,在问题域里或者说在程序里应该具有哪些个对象,在问题域中抽象对
象的方法主要注意,第一,一般来说名词是实体类,也有可能是类的属性;第二,
形容词是接口;第三,动词是类中方法。
其次,考虑这个类或这个对象应该具有什么样的属性和什么样的方法。
最后,考虑类与类之间的关系。
2.4 类与类之间的关系
依赖关系(Dependency):

继承关系(Generalization):
实现关系(Realization):
关联关系(Association):
剩余92页未读,继续阅读











查理捡钢镚
- 粉丝: 10
- 资源: 319

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0