一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 輕松掌握java中介者模式

輕松掌握java中介者模式

2020-06-19 11:14斷了聯(lián)系 JAVA教程

這篇文章主要幫助大家輕松掌握java中介者模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

定義:用來(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í)例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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é)者模式。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: yy111111影院理论大片 | 波多野结衣一区免费作品 | 嫩交18xxxx| 日本久本草精品 | 亚洲是图你懂的 | 亚洲视频在线观看地址 | 青涩体验在线观看未删减 | 手机在线观看国产精选免费 | 18日本人 | 欧美精品1区 | 禁止的爱善良的未删减版hd | 我的漂亮朋友在线观看全集免费 | 女女性恋爱视频入口 | 男人操男人 | 日韩亚洲欧美理论片 | 免费特黄一级欧美大片 | 亚洲性爱区 | 国产精品一区二区三区免费 | 日产乱码卡1卡2卡三卡四在线 | 日韩免费视频播放 | gayrb漫画免费入口 | 欧美人人干 | 奇米影视999| 国产精品久久久久久 | 99热这里只有精品在线播放 | 玩两个少妇女邻居 | 青青操在线播放 | 国产一级真人毛爱做毛片 | 国产区成人综合色在线 | 狠狠色综合久久婷婷色天使 | 亚洲国产精品91 | 国产一区二 | 嗯好爽视频 | 成人先锋 | 欧美成人福利 | 欧美肥胖老妇做爰变态 | 每天都要睡男人(nph) | 国产成人www免费人成看片 | 1024国产高清精品推荐 | 四虎免费在线观看 | 99福利影院|