设计模式分为三类:
创建型模式(五种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型模式(七种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式
行为型模式(十一种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
设计模式的六大原则
1、单一职责原则
2、里氏替换原则
3、依赖倒转原则
4、接口隔离原则
5、迪米特法则(最少知道原则)
6、合成复用原则
创建型模式(五种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
简单工厂模式
可维护、可复用、可扩展、灵活性好
抽象工厂模式
单例模式
建造者模式
原型模式
结构型模式(七种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式
命令模式
(将每个命令由动词变为名词,执行的每个命令都为一个类)
Client (客户):负责创建一个具体的命令(concrete command)
invoker(调用者):调用者持有一个命令对象,并在某个时刻调用命令对象的execute()方法
Command(命令接口):包含命令对象的execute()方法和undo()方法
ConcreteCommand(具体命令):实现命令接口。包括两个操作,执行命令和撤销命令
Receiver(接收者):接收命令并执行
特点
- 容易地设计一个命令队列
- 在需要的情况下,可以较容易地将命令记入日志
- 允许接收请求的一方决定是否要否决请求
- 容易地实现对请求的撤销和重做
- 由于加进新的具体命令类不影响其他的类,因此增加新的具体命令类很容易
- 命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分割开
命令模式与工厂模式的结合
image.png
网友评论