設計模式 結構型軟體設計模式 一

2021-08-03 19:54:58 字數 1928 閱讀 7102

組合模式允許一致的對待複雜和原始物件的介面,在物件導向程式設計技術中,組合物件是乙個或者多個相似物件構成的物件,各個物件有相似的功能。關鍵的概念是客戶類以相同的方式對待單獨的物件與一組物件,即所謂的組合物件。

組合模式有時候又叫做部分-整體模式,在樹形結構中模糊了簡單元素和複雜元素的概念,客戶程式可以像處理簡單元素一樣來處理複雜元素,從而使得客戶程式與複雜元素的內部結構解耦。

組合模式將物件組合成樹形結構,以表示『部分-整體』的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。

component類為組合模式中的物件宣告介面,在適當的情況下,實現所有類共有介面的預設行為。

public abstract class chesscomponent

元件class blackchess extends chesscomponent

public string showinfo()

public int getcolor()

...}class whitechess extends chesscomponent

public string showinfo()

public int getcolor()

...}commposite表示組合部件,實現操作子部件的所有方法,實現所有在component的操作。

class composite extends chesscomponent

public void detach(chesscomponent piece)

public void removeallelement()

....

}

component:

public abstract inte***ce airforce

public abstract class fighter implements airforce;}

public abstract class bomber implements airforce;}

給出具體的類實現

public class f22 extends fighter

; public string getdescription();

}public class b2 extends bomber

; public string getdescription();

}composite類

public class airunit implements airforce

public void detach(airforce force)

public string fight(){}

public string getdescription()

}實現乙個空軍團,54個f22,12個轟炸機

public class airgroup extends airunit

安全形式是指在composite類中宣告所有的用來管理子類物件的方法,包括add(),remove()等。而在component介面和樹葉型別的物件中不包含管理子類的物件的方法。

缺點:

安全形式的組合模型的缺點是。component層次結構類的超類與組合子類的藉口不一致。

與安全形式的組合模型不同,透明形式的組合模型在component類中宣告所有用來管理子類的方法

這樣做的好處是所有的構建類具有相同的介面。缺點是不夠安全。

結構型設計模式

結構模式描述的是如何和組合類和物件已獲得更大的結構。類模式和物件模式之間的區別是 類描述的如何通過繼承提供更有用的介面,而物件描述的是通過使用物件的組合或將物件包涵在別的物件裡面以獲得更有用的結構。介面卡模式 可以將類的乙個藉口匹配另乙個介面 組合模式 物件的組合 模式 乙個簡單的物件代替乙個複雜的...

結構型設計模式

模式結構體 模式 為其他物件提供一種 以控制對這個物件的訪問。abstract class base class adaptera public adapterbase public override void remove company c public override void displa...

軟體設計模式 設計軟體模式簡述

1.1 軟體設計模式概念 設計模式是指被人們反覆使用且被大部分人所了解的 經過分類編目的 設計等的經驗總結,簡單來說就是可以重複使用以前的優秀軟體 這樣不僅能夠增強人們對軟體的熟知度從而使用起來更容易熟練上手,與此同時,使用設計模式進行軟體開發還能夠很大程度上減少開發軟體過程容易出現的問題,從而達到...