大話設計模式筆記(二十二) 中介者模式

2022-05-02 03:09:08 字數 1423 閱讀 3047

用乙個中介物件來封裝一系列的物件互動。中介使各物件之間不需要顯示的相互引用,從而使其耦合鬆散,而且可以獨立的改變它們之間的互動。

「聯合國」就是世界上各個國家的乙個「中介」,許多事情都不是國家之間直接互動,而是通過「安理會」等組織進行協商、投票等過程。

/**

* 聯合國機構

* created by callmedevil on 2019/12/15.

*/public abstract class unitednations

/**

* 國家(相當於colleague類)

* created by callmedevil on 2019/12/15.

*/public abstract class country

}

/**

* 美國(相當於 concretecolleague1 類)

* created by callmedevil on 2019/12/15.

*/public class usa extends country

// 宣告

public void declare(string message)

//獲得訊息

public void getmessage(string message)

}

/**

* 伊拉克(相當於 concretecolleague2 類)

* created by callmedevil on 2019/12/15.

*/public class iraq extends country

// 宣告

public void declare(string message)

//獲得訊息

public void getmessage(string message)

}

/**

* 聯合國安全理事會

* created by callmedevil on 2019/12/15.

*/public class unitednationssecuritycouncil extends unitednations else }}

public class test 

}

執行結果

伊拉克獲得對方資訊:不准研製核**,否則要發動戰爭!

美國獲得對方資訊:我們沒有核**,也不怕侵略!

大話設計模式二十二之職責鏈模式

菜鳥工作滿三個月了,馬上要辦轉正首先,提了加薪的事情。菜鳥對經理如實說了自己的想法,希望公司能在轉正時增加工資待遇,經理肯定了菜鳥的能力,但是加薪做不了主,但是幫他向上提一提。然後去找了人力資源總監,總監說這事他也做不了主,畢竟剛畢業的大學生加薪沒有先例,但總監說,等總經理來後,向總經理提一提這個事...

設計模式學習筆記(二十二 備忘錄模式)

在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態,這樣以後就可以將該物件恢復到原先儲存的狀態。這就是備忘錄模式的定義。物件的狀態依賴於它的變數的取值情況,物件在程式執行期間的各個時刻可能具有不同的狀態。在某些應用中,程式可能需要使用一種合理的方式來儲存物件在某一時刻的狀態,...

大話設計模式二十二 橋接模式(手機軟體何時統一)

橋接模式 當發現我們需要多角度去分類實現物件,而只用繼承會造成大量的類增加,不能滿足開放 封閉 原則,就應該考慮用橋接模式了。手機介面 public abstract class mobile public mobilesoft getsoft public void setsoft mobiles...