门面模式Facade和调停者模式Mediator
在1个项目或游戏中,我们通常会有很复杂的相互之间的关系,
A系统依赖B系统,B系统依赖C系统,C系统依赖A系统等联系非常复杂,而且当我们需要添加更新1个新的系统进来的时候,这个系统很可能跟其他的系统,发生各种联系,这样会导致关系 非常的混乱,如果里面的关系 越搞越复杂 你改你的代码 会非常的头疼
当
我们就想增加1个 大管家 让大家直接和它打交道 然后它会把 里面的逻辑交互给封装起来
然后对外开放一些接口我全部封装到1个类里 由这1个类来管理这些个类 对外提供1个统一的接口
这就叫 门面Facade模式
比如:你去政府的部门办事,本来 你去1个部门 提供一些资料 证明自己是自己就可以了 但是你 可能要跑到不同的地方 去拿不同的表 然后交不同的表,我们就很希望有个门面模式(管家),我就可以作为1个客户 直接去访问这个管家,由他去帮我协调内部的关系
Facade模式是对外的,把内部封装,让外部的人访问方便
Mediator调停者是对内的,统一访问,让内部的人访问方便
一个新系统进来 需要访问 任务调度系统 财务系统 数据库系统 预算系统 行政系统 等等,如果1个1个访问很麻烦,这种情况下 我们可以抽出1个专门的部门来 ,所有的人 都跟这个部门打交道,然后部门之间再也不打交道了,这就是mediator 调停者,调节互相之间关系的人
那么这个对内和对外可以是1个人吗? 可以,在外部看来 是facade 内部看来就是mediator;所以我们才把这两个设计模式一起讲
mq消息中间件 其实就是门面-调停者,谁产生消息放这里去 以后谁要 谁直接来拿 这就把耦合给解散了 解耦了
凡是统一处理大家的事情,这种模式都可以用门面-调停这种思想去写程序