定义:?(Mediator Pattern)

用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。

类图:

启示:

最近两年,楼市疯狂,房价涨的离谱。为了预防楼市泡沫,中央出台一项项政策进行调控。在这样一个现实场景中,共有三个角色,买房者,房地产商,住建局。
买房者关注房地厂商的楼盘及房价,决定是否买房;
房地厂商关注买方市场,是否需要新建楼盘;
住建局就来协调买方与卖方市场,限购限建。
三个角色相互依赖,相互交互。耦合性比较紧,如何来解耦呢?中介者来帮忙。
中介是谁呢?就像你去买房,你肯定找中介啊,中介无所不知,他们即知道房地厂商有哪些楼盘,又了解买房市场的需求,同时也很熟悉国家的楼市政策。

代码:

/// <summary>
    /// 抽象角色(模块)
    /// 主要实现中介的依赖注入
    /// </summary>
    public abstract class Role
    {        protected AbstractMediator mediator;        public Role(AbstractMediator mediator)        {            this.mediator = mediator;
        }
    }

网友评论