victory的博客

长安一片月,万户捣衣声

0%

设计模式 | 23种设计模式总结

23种设计模式总结(未完成)

以下内容对23中设计模式进行简单介绍:

1-12设计模式为创建型,13-23设计模式为行为型

1.抽象工厂

客户类和工厂类分离(判断逻辑和事务处理分开)

客户想抽象工厂请求,抽象工厂再向具体工厂请求生产具体的产品

example:出行方式

2.生成器

将一个复杂的对象的构建与它的表示分离,使得同样的构建过程有不同的表示

3.工厂方法

让子类决定实例化哪一个类

4.原型

example:范文

5.单例

保证一个类只有一个实力,提供一个访问它的全局访问点

6.适配器

example:连接电源和笔记本的适配器

7.桥

抽象部分与实现部分分离

8.组合

整体-部分的关系,使用户对单个、组合对象的使用具有一致性
example:双击打开文件/文件夹

9.装饰

动态地给一个对象(而不是整个类)添加一些额外的职责
example:生日蛋糕

10.外观

为子系统的一组接口,提供一个统一的接口
example: 陕师大主页-各学院网站

11.享元

以共享的方式高效的支持大量的细粒度对象

12.代理

example:中国驻美大使馆是中国政府在美国的代理

13.责任链

example: 提问

14.命令

将一个请求封装成一个对象

15.解释器

16.迭代器

可以顺序访问一个聚合对象中的元素,不必暴露对象的内部表示

17.调停者/中介者

example:租房子-中介

18.备忘录

example:游戏记录、系统还原、任务迁移

19.观察者

20.状态

允许一个对象在其内部状态改变的时候改变行为,这个对象看上去像是改变了它的类一样

21.策略

将每一个算法封装到具有共同接口的独立的类
example:御敌之策(兵来将挡、水来土掩)、出行方式

22.模板方法

定义一个算法中操作的股价,将一些步骤延迟到子类中

23.访问者

数据结构与操作分离