目录
设计模式分类
创建型模式(Creational Patters)
结构型模式(Structural Patterns)
行为型模式(Behavioral Patterns)
命令模式(The Command Pattern)
适配器模式
Object and Class Adapters
设计模式分类
1.创建型模式(Creational Patters)
·Fatory Method
- 本质:用一个Virtual method 完成创建过程
·Abstract Factory
- 一个product族的factory method 构成了一个factory接口
·Protype
- 通过product原型来构造product,Clone+prototype manager
·Buolder
-通过一个构造算法和builder接口把构造过程与客户隔离开
·Singleton
-单实例类型,如何构造这个单个实例?如何访问这单个实例?
·singleton模式提供对象的单一入口提供了帮助
·AbstractFactory和FactoryMethod模式在功能上比较类似,都是用来处理对象的创建的,但应用在不同的层面上
·Builder模式用来处理对象创建的细节,在两个工厂模式中都没有涉及到对象创建的具体细节,都是通过接口来返回一个给定类型的对象,而Builder模式则需要对创建一个给定类型的过程进行建模。这对创建复杂对象很有用,使得创建对象的算法独立与对象各个组成部分的创建
·Prototype模式使用原型机制,通过创建简单原型的拷贝来创建对象
2.结构型模式(Structural Patterns)
·Adapter 、 bridge 、 facade
-adapter用于两个不兼容接口之间的转接
-bridge用于将一个抽象与多个可能实现连接起来
-facade 用于为复杂的子系统定义一个新的简单易用的接口
·composite 、decorator、proxy
- composite 用于构造对象组合结构
- decorator 用于对象增加新的职责
- proxy 为目标对象提供一个替代者
3.行为型模式(Behavioral Patterns)
·Command
-用对象封装命令,使得命令可以被传递、记录、排队等
·Iterator
-把对聚合体对象的访问封装起来
·Observer
-建立起一对多的通信模型,特别适合于更新通知和事件模型
·Strategy
-把一个对象或者类的某些行为封装到另一个单独的对象中
·Visitor
-把对一个结构模型的操作单独组织到一个类中
·Chain of Responsibility
-请求的处理模式,沿着链传递,decouple发送方和接收方
·Interpreter
-在类层次结构中,在特定环境的”interpret”过程
·Mediator
-用一个mediator来的couple各同等单元
·Memento
-在对象之外保存对象的内部状态
·State
-把一个对象的状态独立起来,动态可变换状态对象的类型
·Template Method
-在基类中定义算法的骨架,把某些细节延迟到子类中
·Strategy 、 Iterator 、Mediator 、State 、Command
-用一个对象来封装某些特性,比如变化、交互、状态、行为、命令
·Mediator 、Observer
- Observer建立起subject和observer之间的送耦合连接
-mediator把约束限制集中起来->中心控制
·Command 、Chain of Responsibility 、interpreter
-command模式侧重于命令的总体管理
-Chain of Responsibility 侧重于命令被正确处理
-interpreter用于复合结构中操作的执行过程
3.1命令模式(The Command Pattern)
·Client:创建一个ConcreteCommand 对象,调用者’并确定其接收者。‘
·Command:生命一个给所有具体命令类的接口
·ConcereCommand:定义一个接收者和行为之间的弱耦合,实现exectute()方法,该方法调用接收者响相应的操作
·Invoker:伏在调用命令对象执行请求
·Receiver:具体实施一个请求
举例:
毛利五郎上厕所,发现厕所没纸了,让柯南送纸。
2.1适配器模式
·现实世界中充满适配器!
·面向对象适配器