【设计模式】中介者模式
来源:互联网 发布:淘宝废铁战士的时光机 编辑:程序博客网 时间:2024/05/24 05:05
以下属于菜鸟个人感悟,如有错误还请见谅。
文章参考《Android源码和设计模式解析与实战》
解决问题:
协调多个类对象,做出最终决定的类我们称之为中介者。将多对多的问题转化为一对多的作用,解决紧耦合问题,网状结构变为星状结构。
解决原理:
在中介者中定义所有交互子类对象和定义子类通知父类的方法。 交互子类当中通过构造函数中传入一个中介者(为了回调),用来当交互子类发生状态改变时调用中介者方法通知。 中介者中持有所有交互子类的对象和子类通知通道。 交互子类当发生状态改变时调用中介者方法通知父类。
优点缺点:
多对多依赖关系解耦,使逻辑结构清晰。
运用场景:
多对多依赖关系 自动登录与记住密码 —— P327
使用过程:
主要角色: Mediator:抽象中介者 ConcreteMediator:具体中介者 Colleague:抽象同事类角色 ConcreteColleague:具体同事类角色流程:P230 1、定义Mediator: 主要定义Colleague通知Mediator的方法 2、实现ConcreteMediator: 定义设置所有的ConcreteColleague类的方法 3、定义Colleague: 构造函数中传入Mediator,用来通知Mediator。 4、定义ConcreteColleague: 实现子类自己特有的逻辑 5、调用: 新建一个ConcreteMediator, 新建所有ConcreteColleague子类对象,将ConcreteMediator传入ConcreteColleague当中 用新建的ConcreteColleague来重新设置ConcreteMediator。
阅读全文
0 0
- 【设计模式】中介者
- 中介者设计模式
- 设计模式-中介者
- 设计模式-中介者
- [设计]中介者模式
- 设计模式 中介者模式
- 设计模式-中介者模式
- 设计模式 - 中介者模式
- 设计模式-中介者模式
- 设计模式:中介者模式
- 设计模式--中介者模式
- 设计模式-中介者模式
- 设计模式--中介者模式
- 设计模式-中介者模式
- 设计模式-中介者模式
- 设计模式-中介者模式
- 【设计模式】中介者模式
- 设计模式:中介者模式
- 走进数据结构---时间复杂度
- concatenate
- 设计模式学习笔记九:原型模式(Prototype Pattern)
- [随心译]2017.8.9-虚幻引擎此次更新加入了对iOS 11上苹果ARKit的初步支持
- 超市小票
- 【设计模式】中介者模式
- JDK8中JVM堆内存划分
- ajax的时间格式化
- Android 放大星星又可以缩小的星星
- I Hate It HDU
- 有点饱#11
- POJ 3252 Round Numbers (组合数学+数位dp)
- [SpringMVC] HttpMessageConverter配置
- awk命令