中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

廈門本地企業(yè)網(wǎng)站建設(shè)看seo

廈門本地企業(yè)網(wǎng)站建設(shè),看seo,綿陽做網(wǎng)站公司,網(wǎng)站建設(shè)公司營(yíng)業(yè)范圍介紹 Java中介者模式(Mediator Pattern)是一種行為設(shè)計(jì)模式,它可以降低多個(gè)對(duì)象之間的耦合性,通過一個(gè)中介者對(duì)象來協(xié)調(diào)這些對(duì)象的交互. 在中介者模式中,多個(gè)對(duì)象之間的交互不是直接進(jìn)行的,而是通過一個(gè)中介者對(duì)象來進(jìn)行的.這個(gè)中介者對(duì)象封裝了對(duì)象之間的交互邏輯,每個(gè)對(duì)象只…

介紹

Java中介者模式(Mediator Pattern)是一種行為設(shè)計(jì)模式,它可以降低多個(gè)對(duì)象之間的耦合性,通過一個(gè)中介者對(duì)象來協(xié)調(diào)這些對(duì)象的交互.

在中介者模式中,多個(gè)對(duì)象之間的交互不是直接進(jìn)行的,而是通過一個(gè)中介者對(duì)象來進(jìn)行的.這個(gè)中介者對(duì)象封裝了對(duì)象之間的交互邏輯,每個(gè)對(duì)象只需要與中介者對(duì)象進(jìn)行通信,而不需要與其他對(duì)象直接進(jìn)行通信.這種模式可以有效的減少代碼的復(fù)雜度和維護(hù)成本,提高系統(tǒng)的可擴(kuò)展性和可維護(hù)性.

在Java中, 中介者模式可以通過一個(gè)接口或抽象類來定義中介者對(duì)象,該中介者對(duì)象可以定義一些方法來處理對(duì)象之間的通信.同時(shí),需要實(shí)現(xiàn)一些具體的對(duì)象類,這些對(duì)象類需要持有中介者對(duì)象,并且需要實(shí)現(xiàn)一些方法來與中介者對(duì)象進(jìn)行通信.通過這種方式,可以實(shí)現(xiàn)對(duì)象之間的解耦,提高代碼的可讀性和可維護(hù)性.

實(shí)現(xiàn)

抽象中介者

public abstract class Mediator {public abstract void send(String message, Colleague colleague);
}

具體中介者

public class ConcreteMediator extends Mediator{private ConcreteColleague1 concreteColleague1;private ConcreteColleague2 concreteColleague2;public void setConcreteColleague1(ConcreteColleague1 concreteColleague1) {this.concreteColleague1 = concreteColleague1;}public void setConcreteColleague2(ConcreteColleague2 concreteColleague2) {this.concreteColleague2 = concreteColleague2;}@Overridepublic void send(String message, Colleague colleague) {if (colleague == concreteColleague1){concreteColleague2.receive(message);}else {concreteColleague1.receive(message);}}
}

抽象同事類

public abstract class Colleague {protected Mediator mediator;public Colleague(Mediator mediator) {this.mediator = mediator;}/*** 發(fā)送消息** @param message*/public abstract void send(String message);/*** 消費(fèi)消息* @param message*/public abstract void receive(String message);
}

具體同事類

public class ConcreteColleague1 extends Colleague {public ConcreteColleague1(Mediator mediator) {super(mediator);}/*** 發(fā)送消息** @param message*/@Overridepublic void send(String message) {mediator.send(message, this);}/*** 消費(fèi)消息** @param message*/@Overridepublic void receive(String message) {System.out.println("concreteColleague1收到消息:" + message);}
}public class ConcreteColleague2 extends Colleague {public ConcreteColleague2(Mediator mediator) {super(mediator);}/*** 發(fā)送消息** @param message*/@Overridepublic void send(String message) {mediator.send(message, this);}/*** 消費(fèi)消息** @param message*/@Overridepublic void receive(String message) {System.out.println("concreteColleague2收到消息:" + message);}
}

測(cè)試

public class Demo {public static void main(String[] args) {ConcreteMediator mediator = new ConcreteMediator();ConcreteColleague1 concreteColleague1 = new ConcreteColleague1(mediator);ConcreteColleague2 concreteColleague2 = new ConcreteColleague2(mediator);mediator.setConcreteColleague1(concreteColleague1);mediator.setConcreteColleague2(concreteColleague2);concreteColleague1.send("Hello concreteColleague2");concreteColleague2.send("Hello concreteColleague1");}
}

在這里插入圖片描述

在上面代碼中,抽象中介者M(jìn)ediator定義了同事類之間通信的接口,具體中介者類ConcreteMediator實(shí)現(xiàn)了這個(gè)接口,并持有同事類列表.抽象同事類Colleague定義了同事類的通信接口,具體同事類ConcreteColleague1和ConcreteColleague2分別實(shí)現(xiàn)了這個(gè)接口,實(shí)現(xiàn)了具體的通信邏輯.在測(cè)試代碼中,我們創(chuàng)建了一個(gè)中介者對(duì)象,然后創(chuàng)建了兩個(gè)同事對(duì)象并將他們加入到中介者對(duì)象的同事列表中,最后測(cè)試了它們之間的通信.

總結(jié)

優(yōu)點(diǎn):

  • 降低了對(duì)象之間的耦合度,是的它們更加容易被獨(dú)立地修改,測(cè)試和維護(hù).
  • 通過集中管理和協(xié)調(diào)對(duì)象之間的交互,可以更加靈活地?cái)U(kuò)展和修改系統(tǒng),而不會(huì)對(duì)其他部分造成影響
  • 可以使得代碼更加清晰易懂,因?yàn)樗袑?duì)象之間的交互都被集中在中介者對(duì)象中進(jìn)行處理.

缺點(diǎn):

  • 中介者對(duì)象需要處理多個(gè)對(duì)象之間的交互,因此其復(fù)雜度可能較高,需要仔細(xì)設(shè)計(jì)和實(shí)現(xiàn).
  • 如果設(shè)計(jì)不當(dāng),中介者對(duì)象可能會(huì)成為系統(tǒng)的瓶頸,降低系統(tǒng)的性能和響應(yīng)速度.

應(yīng)用場(chǎng)景:

  • 當(dāng)多個(gè)對(duì)象之間存在復(fù)雜的交互關(guān)系,且彼此之間的耦合度較高時(shí),可以考慮使用中介者模式進(jìn)行重構(gòu).
  • 當(dāng)系統(tǒng)中存在大量的對(duì)象,而且它們之間的交互關(guān)系錯(cuò)綜復(fù)雜時(shí),可以考慮使用中介者模式進(jìn)行簡(jiǎn)化和優(yōu)化.
  • 當(dāng)需要再不影響其他部分的情況下擴(kuò)展和修改系統(tǒng)時(shí),可以使用中介者模式來實(shí)現(xiàn)系統(tǒng)的靈活性和可擴(kuò)展性.
http://m.risenshineclean.com/news/45568.html

相關(guān)文章:

  • 建設(shè)銀行內(nèi)部網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的seo是做什么的
  • 做網(wǎng)站是怎樣賺錢的網(wǎng)站快速排名互點(diǎn)軟件
  • 一般做網(wǎng)站圖是多大的像素廣點(diǎn)通廣告投放平臺(tái)
  • 站免費(fèi)下載安裝seo優(yōu)化策略
  • 做鏡像網(wǎng)站搜索引擎優(yōu)化百度百科
  • 營(yíng)銷型企業(yè)網(wǎng)站建設(shè)策劃關(guān)鍵詞排名怎么快速上去
  • 怎么建設(shè)阿里巴巴國(guó)際網(wǎng)站首頁企業(yè)培訓(xùn)機(jī)構(gòu)排名
  • 域名注冊(cè)和網(wǎng)站建設(shè)深圳關(guān)鍵詞優(yōu)化報(bào)價(jià)
  • 做網(wǎng)站和淘寶美工 最低電腦百度手機(jī)點(diǎn)擊排名工具
  • sql數(shù)據(jù)庫環(huán)境網(wǎng)站搭建教程百度總部公司地址在哪里
  • 怎么制作軟件app教程網(wǎng)絡(luò)優(yōu)化工程師需要學(xué)什么
  • 利用ionic做的網(wǎng)站最新網(wǎng)絡(luò)營(yíng)銷方式
  • 做視頻網(wǎng)站seo查詢 工具
  • 廣州網(wǎng)站建設(shè)首選快優(yōu)淘寶權(quán)重查詢
  • 免費(fèi)正版高清圖片素材庫蕭山市seo關(guān)鍵詞排名
  • 美容行業(yè)培訓(xùn)網(wǎng)站建設(shè)seo搜索優(yōu)化是什么呢
  • 自動(dòng)生成海報(bào)的網(wǎng)站星鏈友店
  • 如果做淘寶網(wǎng)站百度指數(shù)官網(wǎng)入口登錄
  • 網(wǎng)絡(luò)網(wǎng)站建設(shè)電話哪些網(wǎng)站可以免費(fèi)發(fā)廣告
  • 室內(nèi)裝修公司需要資質(zhì)嗎優(yōu)化網(wǎng)站怎么真實(shí)點(diǎn)擊
  • 網(wǎng)站欄目結(jié)構(gòu)設(shè)計(jì)seo技術(shù)優(yōu)化技巧
  • 如何在微信公眾號(hào)里建設(shè)微網(wǎng)站制作app平臺(tái)需要多少錢
  • 中國(guó)十大軟件上市公司排名seo從零開始到精通200講解
  • 做英語趣味教具的網(wǎng)站時(shí)事新聞最新2022
  • 網(wǎng)站開發(fā)運(yùn)營(yíng)優(yōu)化百度漲
  • 做一個(gè)電子商務(wù)網(wǎng)站麗水網(wǎng)站seo
  • 工商企業(yè)查詢網(wǎng)楓樹seo網(wǎng)
  • 丹徒網(wǎng)站建設(shè)要多少錢百度seo刷排名網(wǎng)址
  • 做一個(gè)簡(jiǎn)單的公司網(wǎng)站要多少錢虎撲體育網(wǎng)體育
  • 煙臺(tái)網(wǎng)站的優(yōu)化seo網(wǎng)絡(luò)運(yùn)營(yíng)