设计模式之中介模式

在前面的学习模式的时候,说到,代理模式,我当时用中介举例,有点不合适,因为在设计模式中,原来专门就有一个模式就是中介模式。

其实,代理模式,还是它最基本的含义,代理,就是生产商,生产处东西,要卖给你,需要代理商,代理商决定到底卖不卖给你,对于,他是否卖给其他人,你和其他人之间是没有任何关系的,你们不进行通信。

而这里的中介模式,则不同,为什么?他是个正直的中间人,比如,你要从房子中介里租房子,可是,你一个人租金太高,承担不了,而同样也有个人面临这样的问题,这时,中介知道,这个情况,把这个事情,告诉,你们2个人,然后,你们2个觉得合适,就一起租房子。

本来,如果没有,中介,那么你就租不了房子,现在,有了中介,你找到这么一个人,进行通信,然后,实现最终的目的。

中介,其实,就是个中间通讯人。

来看下中介者模式的组成部分吧。

1)        抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各同事角色之间的通信。

2)        具体中介者(Concrete Mediator)角色:具体中介者角色通过协调各同事角色实现协作行为。为此它要知道并引用各个同事角色。

3)        同事(Colleague)角色:每一个同事角色都知道对应的具体中介者角色,而且与其他的同事角色通信的时候,一定要通过中介者角色协作。


中介,其实,就是起到了同事解耦的作用。

你们同事之间需要交流,有这么一个中介管理,来传递,不需要必须两个人面对面的交流,你们不需要那么紧密的关系。

当你们人数特别多的时候,就体现出来了,你有个消息要告诉100个人,那么有2个选择:

1.你去当面一个一个找到,然后告诉他。(联系紧密)

2.通过门房的管理员,告诉他,见到这100个人,告诉他们消息。(相当于中介)

你感觉那种方式会好点、?

这个模式也是比较容易理解的。

有需要看代码的来点这里:http://zz563143188.iteye.com/blog/1847029

发布了107 篇原创文章 · 获赞 8 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章