设计模式-观察者模式、命令模式
观察者模式
Observer(观察者)—对象行为型模式定义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者.
先将 Observer A B C 注册到 Observable ,那么当 Observable 状态改变时会通知它持有的所有 Observer
设计原则:
• 遵循迪米特法则
• 开闭原则
适用场景分析:
1.事件多级触发场景,如bean生命周期产生的事件。
2.跨系统的消息交换场景,如消息队列的处理机制。
命令模式
Command(命令)—对象行为型模式定义:将一个请求封装成一个对象,以便使用不同参数来表示不同的请求(即命名)。
Action 封装了具体行为,Command 封装了 Action 并提供空方法 execute() ,它的子类通过重写该方法可在方法里调用 mAction 不同行为达到封装命令的目的。
设计原则:
• 遵循迪米特
• 单一职责
• 开闭原则适用场景分析:
1.在GUI开发中,一个按钮的点击是一个命令,可以采用命令模式;模拟DOS命令的时候,当然也要采用命令模式。
2.智能家居、机器人的指令封装。