国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

輕松掌握java中介者模式

2019-11-26 13:46:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

定義:用來(lái)降低多個(gè)對(duì)象和類(lèi)之間的通信復(fù)雜性。中介者模式屬于行為型模式。

特點(diǎn):

     1、降低了類(lèi)的復(fù)雜度,將一對(duì)多轉(zhuǎn)化成了一對(duì)一。

    2、各個(gè)類(lèi)之間的解耦。

    3、符合迪米特原則。

企業(yè)級(jí)開(kāi)發(fā)和常用框架中的應(yīng)用:mvc模式中的c

具體實(shí)例:

public class Demo { public static void main(String[] args) { Mediator m = new Mediator(); Department d1 = new Department(m, "開(kāi)發(fā)部"); Department d2 = new Department(m, "財(cái)務(wù)部"); Department d3 = new Department(m, "策劃部"); m.add(d1, "dep"); m.add(d2, "fin"); m.add(d3, "c"); d2.apply("手里有一個(gè)項(xiàng)目需要開(kāi)發(fā)", "dep"); d1.apply("開(kāi)發(fā)項(xiàng)目需要資金", "fin"); d1.apply("項(xiàng)目開(kāi)發(fā)完了,需要策劃發(fā)布", "c"); d3.apply("發(fā)布會(huì)需要資金", "fin"); }}class Department{  private String name; private Mediator mediator;  public Department(Mediator mediator,String name) { this.name = name; this.mediator = mediator; }  public String getName() { return name; } public void setName(String name) { this.name = name; }  public void apply(String thing,String coordinate){ System.out.println("我們是"+this.getName()+","+thing+",需要幫助"); mediator.dispatch(this, thing, coordinate); }  public void handle(String name,String thing){ System.out.println("我們是"+this.getName()+","+name+"需要我們的幫助,我們馬上處理他們的事情"); System.out.println("*******************************************"); }}/** *中介者對(duì)象,持有所有同事對(duì)象,負(fù)責(zé)調(diào)度各部門(mén)協(xié)調(diào)工作  */class Mediator{ private String name;  private Map<String, Department> map = new HashMap<String, Department>();  public void add(Department d,String name){ this.map.put(name, d); }  public void dispatch(Department dpt,String thing,String coordinate){ Department d = map.get(coordinate); d.handle(dpt.getName(),thing); }}

中介者模式和代理模式的區(qū)別:初一聽(tīng)這兩個(gè)模式的模式感覺(jué)這兩個(gè)模式好像是一個(gè)模式,但是這兩個(gè)模式卻完全不同,代理模式主要用于隱藏實(shí)際對(duì)象,不讓別人知道具體的操作細(xì)節(jié),而中介者模式則主要用戶多對(duì)象多對(duì)多的復(fù)雜交互,為了簡(jiǎn)化這些交互,才有了終結(jié)者模式。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 民乐县| 咸阳市| 河北省| 金寨县| 浪卡子县| 贵南县| 特克斯县| 金堂县| 连南| 湘乡市| 奉节县| 和政县| 新昌县| 保康县| 大英县| 梁河县| 札达县| 墨脱县| 苗栗市| 广宗县| 丰宁| 凌云县| 当涂县| 临城县| 山东省| 涞水县| 甘孜县| 温州市| 贞丰县| 临西县| 甘肃省| 阜南县| 吴川市| 灵台县| 三原县| 顺昌县| 澄城县| 申扎县| 安吉县| 宣城市| 宿州市|