激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(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ì)象和類之間的通信復(fù)雜性。中介者模式屬于行為型模式。

特點(diǎn):

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

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

    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)度各部門協(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é)者模式。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产噜噜噜 | 亚洲午夜电影 | 中国国语毛片免费观看视频 | 国产拍拍拍三级费视频在线观看 | 在线观看国产一区二区 | 欧美日韩国产成人在线 | 精品久久久一二三区播放播放播放视频 | 一边吃奶一边摸下娇喘 | 精品国产乱码久久久久久久 | 精品中文字幕久久久久四十五十骆 | 一级看片免费视频 | 91看片免费看 | 国产免费成人 | 精品国产一区二区三区久久久蜜 | 久久久综合视频 | 欧美大逼网 | 欧美成人毛片 | 九九精品在线播放 | 国产在线观看91精品 | 久久久久久精 | 日韩精品久久久久久久九岛 | 国产精品久久久久久久久久久久午夜 | 草莓视频在线导航 | 成人福利电影在线观看 | 手机av免费电影 | 色中色激情影院 | 羞羞电影在线观看www | 99激情视频| 在线a视频| 欧美大胆xxxx肉体摄影 | 欧美女优一区 | 最新毛片在线观看 | 久久精品视频在线 | 国产一区二区欧美 | caoporn国产一区二区 | 国产精品白嫩白嫩大学美女 | 免费一级欧美大片视频 | 91网站链接 | 69性欧美高清影院 | 色吧综合网 | 自拍偷拍999 |