(1)需求
美國和伊拉克之間的對話都是通過聯合國安理會作為中介來完成。
(2)uml類圖
a.國家抽象colleague類
package com.longinus.mp;
public
abstract
class country
}
b.抽象中介者類package com.longinus.mp;
public
abstract
class unitednations
c.具體國家 colleague 類package com.longinus.mp;
public
class
usaextends
country
public
void
declare(string message)
public
void
getmessage(string message)
}
package com.longinus.mp;
public
class
iraq
extends
country
public
void
declare(string message)
public
void
getmessage(string message)
}
d.具體中介者類package com.longinus.mp;
public
class
securitycouncil
extends
unitednations
public
void
setcolleague1(usa colleague1)
public iraq getcolleague2()
public
void
setcolleague2(iraq colleague2)
@override
public
void
declare(string message, country colleague) else }}
e.測試類package com.longinus.mp;
public
class test
}
f.輸出結果伊拉克獲得對方資訊:不准研製核**,否則發動戰爭
美國獲得對方資訊:我們沒有核**,也不怕侵略
設計模式(二十一) 狀態模式
狀態模式也是一種行為型模式,當我們的程式中需要一些狀態轉換,對於不同的狀態需要不同的行為時,我們就可以考慮使用狀態模式。下面用交通燈來當例子。我們需要紅黃綠三種顏色的狀態。inte ce state class redstate implements state class yellowstate ...
設計模式(二十一) 狀態模式
狀態模式也是一種行為型模式,當我們的程式中需要一些狀態轉換,對於不同的狀態需要不同的行為時,我們就可以考慮使用狀態模式。下面用交通燈來當例子。我們需要紅黃綠三種顏色的狀態。inte ce state class redstate implements state class yellowstate ...
設計模式二十一之命令模式
2.模式的結構與實現 在軟體開發系統中,常常出現 方法的請求者 與 方法的實現者 之間存在緊密的耦合關係。這不利於軟體功能的擴充套件與維護。例如,想對行為進行 撤銷 重做 記錄 等處理都很不方便,因此 如何將方法的請求者與方法的實現者解耦?變得很重要,命令模式能很好地解決這個問題。在現實生活中,這樣...