用乙個中介物件來封裝一系列的物件互動。中介使各物件之間不需要顯示的相互引用,從而使其耦合鬆散,而且可以獨立的改變它們之間的互動。
「聯合國」就是世界上各個國家的乙個「中介」,許多事情都不是國家之間直接互動,而是通過「安理會」等組織進行協商、投票等過程。
/**
* 聯合國機構
* 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...