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.访问者
数据结构与操作分离