HardBirch

JAVA设计模式之Mediator模式

时间:11-05-06 栏目:安卓学习笔记 作者:张飞不张,文采横飞 评论:1 点击: 1,876 次

现实生活中,有很多实际的现象,比如,房产中介,购房者可以不去一家家房产商去跑,去联系,而可以通过房产中介来获取房产商的信息,同样的房产商也不用自己联系顾客,而是通过中介来完成。同样的,在一个大公司里,如果让每个同事直接交流,则这样的效率显然很低下,因为每个员工可能需要维护很多个同事的信息。这时,可以建立一个交流中介,由交流中介来负责传达每个同事的信息请求,这样,每个员工只需要维护一个中介的信息就OK了,而所有的工作都交付给中介来完成,由中介来负责维护各个同事的信息。

 

中介者模式,就是解决上面一类问题而提出的设计思想。如果一个对象需要和很多其他的对象交互,那么他就需要维护很多个对象的信息,这样非常不利于对象的维护。对于这样的多对多关系,我们可以采用中介者模式后,将其关系编程一对多关联,降低了各个对象之间的耦合度。由中介者统一管理各个对象之间的联系和交互行为。

 

在很常见的MVC模式中,Controller的角色其实就是一种Mediator,充当Model和View之间的中介,负责Model和View之间的交互。

 

中介者模式的组件结构如下:

 

vv

在使用中介者模式的时候,在Mediator添加Colleague的时候,就建立Mediator和该Colleague的关系

在addColleague方法中调用colleague.setMediator(this)来建立。而不是在Colleague的构造方法中传入Mediator对象。这样可以隐藏这种双向关联关系。

 

 

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: JAVA设计模式之Mediator模式

JAVA设计模式之Mediator模式:目前有1 条留言

  1. 沙发
    yunchow:

    不知道作者在哪看的,没有自己的思想,至少读不出来,也没有讲清楚

    2011-07-04 15:07 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐