mybloger

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

调停者(mediator)与门面(facade)

以坦克大战为例,游戏里边有坦克,子弹,暗堡,坦克可以撞坦克,撞墙,撞暗堡,子弹可以撞坦克,之间有各种各样的关系,此外,另加一个事物也会增加与其他事物的联系。如果是这样的话,里边的关系会特别特别混乱,所以现在有这样一种需求,我一个tankFrame直接去操纵这些个关系不合适,我先把关系封装一下,使用大管家(门面)去管理,然后我tankFrame去管理门面就行了。

一个更形象的例子,以前找政府机构办点事情,如开个证明,先去村委会,它搞不了,让你去直接找村长,你找到村长,村长让你去镇办公室,你到了镇,镇又让你去县...这时候,你多么希望有一个中间门面,直接告诉你找谁不方便多了。这就叫facade

又一个比喻,一个新系统进来,要与各种系统打交道,太麻烦了,这时候可以抽出一个专门的系统来,所有的系统都与这个系统打交道,互相之间在也不打交道了,这个就叫mediator

它们都差不多,对外叫门面,对外叫调停者,它们有非常大的应用,叫做消息中间件,哪个部门产生消息,放到中间去,谁需要用,就去

拿。这样把耦合就解散了。

posted on 2022-09-05 10:13  万能包哥  阅读(92)  评论(0编辑  收藏  举报