国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

中介者模式(Mediator)

Lsnsh / 2671人閱讀

摘要:中介者模式一中介者模式定義用一個中介者對象封裝一系列的對象交互,中介者使各對象不需要顯示的相互作用,從而使耦合松散,而且可以獨立的改變他們之間的交互角色抽象中介者類具體中介者實現類同事類二具體實現創建抽象中介者對象創建具體中介者對象創建同事

中介者模式

一. 中介者模式 1.1 定義

用一個中介者對象封裝一系列的對象交互,中介者使各對象不需要顯示的相互作用,從而使耦合松散,而且可以獨立的改變他們之間的交互.

1.2 角色

抽象中介者類(AbstractMediator).

具體中介者實現類(Mediator).

同事類(Colleague).

二. 具體實現 2.1 創建抽象中介者對象
    public abstract class AbstractMediator {
        private ColleagueA colleagueA;
        private ColleagueB colleagueB;
        public abstract void executeToA();
        public abstract void executeToB();
        public void setColleagueA(ColleagueA colleagueA) {
            this.colleagueA = colleagueA;
        }
        public void setColleagueB(ColleagueB colleagueB) {
            this.colleagueB = colleagueB;
        }
    }
2.2 創建具體中介者對象
    public class Mediator extends AbstractMediator {
        public void executeToA() {
            System.out.println("Mediator executeToA ...");
        }
        public void executeToB() {
            System.out.println("Mediator executeToB ...");
        }
    }
2.3 創建同事類
    public class ColleagueA {
        private AbstractMediator mediator;
        public ColleagueA(AbstractMediator mediator){
            this.mediator = mediator;
        }
        public void print(){
            System.out.println("ColleagueA print ... ");
            mediator.executeToB();
        }
    }
    public class ColleagueB {
        private AbstractMediator mediator;
        public ColleagueB(AbstractMediator mediator){
            this.mediator = mediator;
        }
        public void print(){
            System.out.println("ColleagueB print ...");
            mediator.executeToA();
        }
    }
2.4 調用
    public static void main(String[] args) {
        AbstractMediator mediator = new Mediator();
        ColleagueA colleagueA = new ColleagueA(mediator);
        ColleagueB colleagueB = new ColleagueB(mediator);
        mediator.setColleagueA(colleagueA);
        mediator.setColleagueB(colleagueB);
        colleagueA.print();
        colleagueB.print();
    }
2.5 輸出
    ColleagueA print ... 
    Mediator executeToB ...
    ColleagueB print ...
    Mediator executeToA ...
三. 優缺點 3.1 優點

各個同事類之間的解耦.

降低類的復雜度.

3.2 缺點

同事類過多會使中介者龐大,難以維護.

四. 源碼
    https://github.com/Seasons20/DisignPattern.git

END

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69633.html

相關文章

  • 設計模式(二十三)介者模式

    摘要:中介者模式就是簡化這種關系的模式,有兩個角色關系成員中介者。成員,不必包含與他有關系的成員,他只需包含一個中介者,通過中介發消息,是委托給中介。他有一個發消息的方法,中介通過判定成員來確定恢復消息。先看圖: showImg(https://user-gold-cdn.xitu.io/2019/5/21/16ada9908dd0b898); 有很多孤立的人這里是3個,如果有100個,是不是圖很...

    ztyzz 評論0 收藏0
  • 常用設計模式

    摘要:工廠設計模式工廠設計模式,主要用于進行實例化對象時的解耦操作,避免使用關鍵字實例化對象,通過反射,根據類名稱動態創建對象示例靜態工廠模式構造方法私有化獲取指定類名稱的對象動態代理模式動態代理模式,主要用于對同一接口子類的相同邏輯進行代理操作 工廠設計模式 工廠設計模式,主要用于進行實例化對象時的解耦操作,避免使用new關鍵字實例化對象,通過反射,根據類名稱動態創建對象 示例: pa...

    fizz 評論0 收藏0
  • 一起學設計模式 - 介者模式

    摘要:在地球上最大的中介者就是聯合國了,它主要用來維護國際和平與安全解決國際間經濟社會文化和人道主義性質的問題。所以對于關系比較復雜的系統,我們為了減少對象之間的關聯關系,使之成為一個松耦合系統,我們就需要使用中介者模式。 中介者模式(Mediator Pattern)屬于行為型模式的一種,用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨...

    denson 評論0 收藏0
  • 我的Java設計模式-介者模式

    摘要:那在我們的程序設計中有沒有這樣的模式有的,中介者模式應運而生,目的就是處理這樣的情景問題。最后來看客戶端的實現,代碼如下被攻打,請求支援可以看到,表面上請求還是從發出,但是已經委托了中介者進行業務邏輯和流程的處理。 本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發布 小時候鐘愛戰爭片,《地道戰》、《雞毛信》、《鐵道游擊隊》一系列的老電影,咦~想起都激動得起雞皮疙瘩。不過...

    SimonMa 評論0 收藏0
  • Observer和Mediator模式的區別

    摘要:舉個例子淘寶商鋪賣家在淘寶上開了一個相機店最近都有意愿去買但是覺得價格稍貴,因此暫時不打算入手,想等價格稍微便宜一點后再入手,所以這個人通過淘寶先關注賣家的相機店。等到賣家的相機打折后,淘寶會向這個人推送打折消息。 Observer觀察者模式 Observer觀察者模式和Pub/sub模式事實上都是同一套路。這種模式建立起了不同對象之間的依賴關系: showImg(https://se...

    wapeyang 評論0 收藏0

發表評論

0條評論

Lsnsh

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<