设计模式-观察者模式、命令模式

观察者模式

Observer(观察者)---对象行为型模式定义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.

先将 Observer A B C 注册到 Observable ,那么当 Observable 状态改变时会通知它持有的所有 Observer

设计原则:

• 遵循迪米特法则

• 开闭原则

适用场景分析:

1.事件多级触发场景,如bean生命周期产生的事件。

2.跨系统的消息交换场景,如消息队列的处理机制。

命令模式

Command(命令)---对象行为型模式定义:将一个请求封装成一个对象,以便使用不同参数来表示不同的请求(即命名)。

Action 封装了具体行为,Command 封装了 Action 并提供空方法 execute() ,它的子类通过重写该方法可在方法里调用 mAction 不同行为达到封装命令的目的。

设计原则:

• 遵循迪米特

• 单一职责

• 开闭原则适用场景分析:

1.在GUI开发中,一个按钮的点击是一个命令,可以采用命令模式;模拟DOS命令的时候,当然也要采用命令模式。

2.智能家居、机器人的指令封装。