行为模式 (三)

21、mediator    ​中介者

使用一个中间类来降低各个类之间的耦合性

为了能方便调用到其他类,我们往往在各个类里保存了其他类的指针,造成耦合性很大,各个类无法独立出来,

通过构建一个mediator类,把各个类的指针保存在mediator类里,其他类只需要保存mediator类的指针

优缺点:

降低了各个类之间的耦合性

集中控制

可以减少子类生成(可以通过生成mediator的子类来冲定义其他类的一些行为)( 不妥)


22、observer    ​观察者

也称发布-订阅模式,目标保存了各个观察者的指针,当发生变化时,遍历通知各观察者

优缺点:

有耦合,但耦合已经降到最低

支持广播通信

如过依赖规则不当,可能会造成观察者意外更新


23、visitor    ​访问者

不改变某对象的情况下,给该对象添加新操作

    ​    ​    ​    ​    ​node ->accept(visitor*v)

    ​    ​    ​    ​    ​    ​|

    ​    ​    ​    ​|----------|

    ​    ​    anode    ​      ​ bnode

    ​    accept(v){ v->visit(this);}

优缺点:

无关的操作分离到访问者里

便于增加新操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值