设计模式之行为型模式二

1、命令模式

顾名思义“命令”行为是该模式的重点,调用者发送命令,然后接收者执行

显然调用者要持有命令对象,根据依赖倒置原则,命令模式是一个接口,通过命令模式让接收者执行,故而命令对象要持有接收者。

2、中介者模式

中介这个词大家应该都熟悉,比如 房子的中介,买房、卖房者通过中介完成交易

那么显然卖房与中介、买房与中介要相互持有

常见的框架如MVP

3、迭代器模式

提供了一种遍历集合对象的接口,它将集合功能实现与遍历分离开来。

比如LinkedHashMap与HashMap,前者继承了后者,功能和数据接口有很多相似之处。但是调用者依旧可以通过获取对应的迭代器,实现不同的目的。比如LinkedHashMap遍历是根据最近访问的时间得到,而HashMap是根据内部数组存储顺序排序,获得每个数组位置中的链表值后再继续遍历下个位置的链表(红黑树也认为是链表)

4、访问者模式

访问者,自然要有访问对象,还有就是存储访问者的集合。

该模式 还是比较复杂的,是通过将现有访问兑现全部记录在访问者的对象中来实现多态,所以一旦要新增访问对象,那么所有的访问者都要新增实现方法,因为接口新增了访问对象。说到这那么自然访问者和要访问的对象都要有一个接口来实现多态。而构建者中有个集合是记录注册的访问对象的 ,当访问者要开发访问时遍历访问对象集合,根据自身的对象类型来执行访问者中的方法。

5、备忘录模式

备忘录模式主要是记录以前的状态,以便在误操作的时候恢复。

比如我们编程时候的撤销和回撤,备忘录负责存储、管理者负责获取、记录数据 (个人觉得该角色可以去除),调用者

存储用什么数据结构自然取决于功能,数据变化恢复最近的先回复就用栈、想根据条件优先级排序,可用优先级队列根据集合功能实现对应功能

6、解释器模式

该模式是根据获得的信息解析程序中能够理解的句子。个人觉得和枚举出各种情况(也有可能是多种数组间的排列组合),通过传入的信息去匹配决定后续行为。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值