国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

壽光網(wǎng)站開發(fā)種子搜索引擎torrentkitty

壽光網(wǎng)站開發(fā),種子搜索引擎torrentkitty,b2b采購平臺(tái)網(wǎng)站,河北建筑工程信息網(wǎng)站文章目錄 概念結(jié)構(gòu)實(shí)例總結(jié) 概念 中介者模式:用一個(gè)中介對(duì)象來封裝一系列的對(duì)象交互。中介者使各對(duì)象不需要顯示地相互引用,從而使其耦合松散,而且可以獨(dú)立地改變它們之間的交互。 就好比世界各個(gè)國家之間可能會(huì)產(chǎn)生沖突,但是當(dāng)產(chǎn)…

文章目錄

    • 概念
    • 結(jié)構(gòu)
    • 實(shí)例
    • 總結(jié)

概念

中介者模式:用一個(gè)中介對(duì)象來封裝一系列的對(duì)象交互。中介者使各對(duì)象不需要顯示地相互引用,從而使其耦合松散,而且可以獨(dú)立地改變它們之間的交互。
就好比世界各個(gè)國家之間可能會(huì)產(chǎn)生沖突,但是當(dāng)產(chǎn)生沖突的時(shí)候需要聯(lián)合國來解決沖突。每個(gè)國家之間的關(guān)系,就好比對(duì)象和對(duì)象之間的關(guān)系,這就需要每個(gè)對(duì)象知道其他的所有對(duì)象,具有很強(qiáng)的耦合性。但是每個(gè)國家只需要關(guān)聯(lián)聯(lián)合國這個(gè)對(duì)象的話,耦合性就會(huì)降低很多。

結(jié)構(gòu)

在這里插入圖片描述
Mediator(抽象中介者):它定義一個(gè)接口,該接口用于與各同事對(duì)象之間進(jìn)行通信。
ConcreteMediator(具體中介者):抽象中介者的子類,協(xié)調(diào)各個(gè)同事對(duì)象來實(shí)現(xiàn)寫作關(guān)系,它維持了對(duì)各個(gè)不同同事對(duì)象的引用。
Colleague(抽象同事類):它定義公有的方法,它維持了一個(gè)對(duì)抽象中介者類的引用。
ConcreteColleague(具體同事類):它是抽象同事類的子類,每一個(gè)同事之間需要通信時(shí)需要先與中介者通信,通過中介者再實(shí)現(xiàn)其他同事之間的通信。

實(shí)例

現(xiàn)在以美國和伊拉克之間的戰(zhàn)爭(zhēng)為例,聯(lián)合國作為中介者,用中介者模式來實(shí)現(xiàn)這個(gè)demo。
在這里插入圖片描述
聯(lián)合國機(jī)構(gòu)類

public abstract class UnitedNations {public abstract void declare(String message, Country colleague);
}

聯(lián)合國安全理事會(huì)

@Data
public class UnitedNationsSecurityCouncil extends UnitedNations {private USA usa;private Iraq iraq;@Overridepublic void declare(String message, Country colleague) {if (colleague == usa) {iraq.getMessage(message);} else {usa.getMessage(message);}}
}

國家類

public abstract class Country {protected UnitedNations mediator;protected Country(UnitedNations mediator) {this.mediator = mediator;}public abstract void declare(String message);public abstract void getMessage(String message);}

美國類

public class USA extends Country {public USA(UnitedNations mediator) {super(mediator);}@Overridepublic void declare(String message) {super.mediator.declare(message, this);}@Overridepublic void getMessage(String message) {System.out.println("美國獲得對(duì)方信息:" + message);}
}

伊拉克類

public class Iraq extends Country {public Iraq(UnitedNations mediator) {super(mediator);}@Overridepublic void declare(String message) {super.mediator.declare(message, this);}@Overridepublic void getMessage(String message) {System.out.println("伊拉克獲得對(duì)方信息:" + message);}
}

客戶端

public class Client {public static void main(String[] args) {UnitedNationsSecurityCouncil unsc = new UnitedNationsSecurityCouncil();USA c1 = new USA(unsc);Iraq c2 = new Iraq(unsc);unsc.setUsa(c1);unsc.setIraq(c2);c1.declare("不準(zhǔn)研制核武器,否則要發(fā)動(dòng)戰(zhàn)爭(zhēng)!");c2.declare("我們沒有核武器,也不怕侵略。");}
}

打印結(jié)果:
在這里插入圖片描述

總結(jié)

中介者模式將一個(gè)網(wǎng)狀的系統(tǒng)結(jié)構(gòu)變成了一個(gè)以中介者對(duì)象為中心的星型結(jié)構(gòu),也是一個(gè)“迪米特法則”應(yīng)用的標(biāo)準(zhǔn)模式,各個(gè)對(duì)象之間不需要耦合,它們之間的溝通僅需要中介者即可。但因?yàn)橹薪檎弑旧硇枰P(guān)聯(lián)大量的對(duì)象,導(dǎo)致后續(xù)的維護(hù)比較困難。因此也可以做一個(gè)小個(gè)改善,將變的地方放到配置中進(jìn)行維護(hù)。

public class UnitedNationsSecurityCouncil extends UnitedNations {//放到配置中心private List<Country> countryList = new ArrayList<>();@PostConstructpublic void init() {countryList=Congfiguration.getCountryList();}@Overridepublic void declare(String message, Country colleague) {countryList.forEach(country -> {if (country.getClass() == colleague.getClass()) {country.getMessage(message);}});}
}
http://aloenet.com.cn/news/27903.html

相關(guān)文章:

  • 日本軟銀集團(tuán)最大股東引擎優(yōu)化
  • 外文網(wǎng)站做t檢驗(yàn)分析seo數(shù)據(jù)統(tǒng)計(jì)分析工具有哪些
  • 網(wǎng)站優(yōu)化一般要怎么做推廣優(yōu)化廠商聯(lián)系方式
  • 免費(fèi)網(wǎng)站服務(wù)seo運(yùn)營
  • 珠寶品牌網(wǎng)站設(shè)計(jì)杭州網(wǎng)絡(luò)推廣網(wǎng)絡(luò)優(yōu)化
  • 衡水做wap網(wǎng)站互聯(lián)網(wǎng)培訓(xùn)
  • 物流網(wǎng)站建設(shè)方案ks免費(fèi)刷粉網(wǎng)站推廣
  • 旅游網(wǎng)站做模板素材鏈接轉(zhuǎn)二維碼
  • WordPress 推酷 主題深圳百度推廣排名優(yōu)化
  • 彩票推廣網(wǎng)站如何做今日新聞快報(bào)
  • 住房城鄉(xiāng)建設(shè)管理委員官方網(wǎng)站小程序開發(fā)公司哪里強(qiáng)
  • 常州想做個(gè)企業(yè)的網(wǎng)站找誰做東莞推廣系統(tǒng)
  • 廣告文化網(wǎng)站建設(shè)2023新聞大事件摘抄
  • 韓國b2c電商網(wǎng)站百度排名點(diǎn)擊器
  • 網(wǎng)站建設(shè)與管理電子教程廣告公司是做什么的
  • 酒店網(wǎng)站開發(fā)合同哈爾濱最新信息
  • 甘肅網(wǎng)站建設(shè)開發(fā)百度大搜推廣開戶
  • 古典asp網(wǎng)站源碼百度客服中心人工在線電話
  • 石家莊做外貿(mào)網(wǎng)站seo搜索引擎優(yōu)化關(guān)鍵詞
  • seo全套視頻教程信息流優(yōu)化
  • 電商購物網(wǎng)站建設(shè)杭州網(wǎng)站優(yōu)化流程
  • 網(wǎng)站設(shè)計(jì)如何做策劃黃頁推廣平臺(tái)有哪些
  • 豐臺(tái)網(wǎng)站建設(shè)推廣seo優(yōu)化關(guān)鍵詞的方法
  • 剛做的網(wǎng)站怎么在百度搜到西安霸屏推廣
  • 怎樣開發(fā)游戲app軟件優(yōu)化推廣網(wǎng)站怎么做最好
  • 如何建英文網(wǎng)站全網(wǎng)營銷式網(wǎng)站
  • 電子商務(wù)網(wǎng)站建設(shè)商城網(wǎng)站百度網(wǎng)站推廣一年多少錢
  • 中企動(dòng)力做的網(wǎng)站被鏡像怎么能在百度上做推廣
  • 招聘網(wǎng)站的SEO怎么做大數(shù)據(jù)營銷經(jīng)典案例
  • 網(wǎng)站備案需要花錢嗎東莞網(wǎng)絡(luò)推廣平臺(tái)