zoukankan      html  css  js  c++  java
  • 侃中介者模式(Mediator)

    侃中介者模式

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

    正文:

           中介者模式是一个简单易用的模式。也许很多人在实际的项目中都已经用到过了,只是不知道它就是中介者模式。它把多对多的交互变成了一对多的交互,从而简化的交互,理清了思路。

           让我们来看个例子。
            
          

           去年买了一套二手房(在杭州没钱的人只能这样了),中间的手续还是挺多的,看了让人心慌。

           粗略的列了下:

    1.         自己要和房东讲价钱。

    2.         到银行贷款。

    3.         卖方也是银行贷款的,要把我的帐户钱转到卖方帐户上。

    4.         到政府机构办理证件。

     

    我这里把政府机构简化了,因为办的证太多,涉及的部门也很多,在中国就是这样,七证八税的,而且这些部门都分开,让你跑的死去活来。

    看来还是通过房屋买卖中介吧,他们对这一行业都很熟悉,办的速度也快,就是要破财,心疼啊。

      
        
    这样,条理就清楚多了。

    1.         我让中介去谈价。

    2.         中介为我办理贷款的一切手续。

    3.         我把钱打入中介开的一个中转帐户。

    4.         中介为我办理证件。

           这样我唯一接触的对象就是房屋买卖中介,有事我就找中介,中介需要我的时候,就会联系我,我还是边工作边买房,。这多简单,当然在这里我深深地体会的钱的好处。

           到这里,我想读者可能明白了中介者模式了。那接下来就上升到理论了。

    Mediator:(中介者

    定义了接口与各同事类交互。

    CConcreteMediator:(具体中介者

    创建并协调各个同事类。

    Colleague Class: (同事类)

    每个同事者都知道中介者对象。

    在需要与其它同事类通讯时,通知中介者。

     

           在这里,一个同事类要与其它同事类通讯时,要通知中介者,然后由中介者去通知其要通讯的同事类,是不是可以用上观察者模式(Observer)了?每个同事类都是被观察者,而中介对象就是观察者。

           中介者模式断绝各个同事类之间的直接交互,把复杂的交互交给了中介者。“与其多个人累,不如我一个人来累”,这就是中介者模式的精神。

  • 相关阅读:
    sqlserver判断字段是否存在,表是否存在
    sqlserver数据库数据字典生成器
    C#断点续传下载文件
    c# 泛型new T
    html显示xml内容
    程序设计语言诞生——程序设计语言的发展历史
    atan2(x,y) pow(x,y)
    name phone email 正则表达式
    第八周
    第六周
  • 原文地址:https://www.cnblogs.com/goodcandle/p/Mediator.html
Copyright © 2011-2022 走看看