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

當前位置: 首頁 > news >正文

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

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

介紹

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

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

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

實現(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);/*** 消費消息* @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);}/*** 消費消息** @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);}/*** 消費消息** @param message*/@Overridepublic void receive(String message) {System.out.println("concreteColleague2收到消息:" + message);}
}

測試

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");}
}

在這里插入圖片描述

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

總結(jié)

優(yōu)點:

  • 降低了對象之間的耦合度,是的它們更加容易被獨立地修改,測試和維護.
  • 通過集中管理和協(xié)調(diào)對象之間的交互,可以更加靈活地擴展和修改系統(tǒng),而不會對其他部分造成影響
  • 可以使得代碼更加清晰易懂,因為所有對象之間的交互都被集中在中介者對象中進行處理.

缺點:

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

應用場景:

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

相關(guān)文章:

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