C 設計模式之我見 三

2022-02-28 01:18:14 字數 1004 閱讀 9469

composite pattern)、外觀模式(

façade pattern)、享元模式(

flyweight pattern)、**模式(

proxy pattern)。

組合模式(composite pattern),將物件以樹形結構組織起來,以達成"部分-整體"的層次結構,使得客戶端對單個物件和組合物件的使用具有一致性。

1. 定義了包含簡單物件和組合物件的類層次結構。簡單物件可以被組合到複雜物件中,而組合的物件可以再被組合。這樣客戶端**中用到簡單物件的地方都可以使用組合物件。

2. 簡化客戶端**。客戶端不用知道某物件是簡單物件還是組合物件,可以以一致的方式使用這些物件。

3. 更容易增加新型別的元件。新的元件可以方便地加入已有組合物件中不用改變客戶端**。下面是具體例項:

namespace compositepattern.designpattern

abstract public void add(component c);   //宣告抽象公有add方法

public abstract void dumpcontents();       //宣告抽象公有dumpcontents方法

}

class composite : component                             //組合類composite繼承自component類

override public void add(component c)   //覆寫基類add方法

public override void dumpcontents()      //覆寫基類dumpcontents方法

", strname);

foreach (component c in componentlist)

}}

閱讀全文

C 設計模式之我見 三

介面卡模式 adapter pattern 橋接模式 bridge pattern 裝飾模式 decorator pattern 組合模式 composite pattern 外觀模式 fa ade pattern 享元模式 flyweight pattern 模式 proxy pattern 下面...

C 設計模式之我見 四

今天咱們接著上一節的行為型模式觀察者模式 oberver pattern 中介者模式 mediator pattern 備忘錄模式 memento pattern 給大家繼續講。在前這幾節中,因為時間緊促,可能有些詮釋的不到位,可能多少有點瑕疵,因為不同人的理解是不同的概念。當然希望廣大讀者多提建議...

C 設計模式之我見 四

模版方法模式 template method 命令模式 command pattern 迭代器模式 iterator pattern 觀察者模式 oberver pattern 中介者模式 mediator pattern 備忘錄模式 memento pattern 直譯器模式 interprete...