行为型设计模式总结

简单的理解,还需要进一步研究……

 

Visitor: 基于一个稳定的类结构层次,为了在基本不改变类定义的情况下增加作用于这些类的新的操作,基于一个统一的接口为每个新操作定义一个访问者类,访问者类中为每个需要访问的类提供一个专门的访问方法。通过将访问者对象的引用配置到被访问类中,以便被访问对象将自身做为参数,回调访问者访问方法,从而支持访问者实现新操作。

Observer: 将对对象的某个事件或状态变化感兴趣的客户注册为观察者,当事件发生或状态变化时,对象将自身作为输入参数,回调观察者的观察方法,从而实现一个事件的通知机制。

Template Method: 父类将多个子类的公共逻辑部分封装为一个骨架函数,函数中调用子类重载实现的基本操作或个性化操作。

Iterator: 对于多个容器类,它们的内部存储结构不一样,但都需要被遍历。基于统一的接口为每个容器子类定义对应的迭代器子类,屏蔽内部结构差异。

State: 一个类在不同的状态下执行不同的业务逻辑。定义一个新的状态基类类,以及代表不同状态的子类,将业务逻辑视状态而定的函数移到状态子类中实现。客户调用时间接调用状态子类函数。

Memento: 将对象的状态保存在备忘录对象中,储存起来,以便在需要恢复的时候可以重新拿出来使用。

Mediator: 一个模块内的多个对象需要互相通讯,关系比较复杂。定义一个中介者对象接收所有对象的通知消息,再广播给其他对象。

Chain of Responsibility: 为一个事件寻找一个处理者。处理事件的对象按一定的规则形成一个对象链,处理事件的请求在链上传递,如果某对象没有职责处理,则传给下一个对象,直到被处理。

Command: 将请求封装为对象

Strategy: 将策略封装为单独的类和子类,为不同的客户选择不同的子类。

Interpreter: 还没有深入研究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值