設計模式28 組合實體模式

2021-09-25 10:25:39 字數 1747 閱讀 5406

組合實體模式(composite entity pattern)用在 ejb 持久化機制中。乙個組合實體是乙個 ejb 實體 bean,代表了物件的**。當更新乙個組合實體時,內部依賴物件 beans 會自動更新,因為它們是由 ejb 實體 bean 管理的。以下是組合實體 bean 的參與者。

建立依賴物件1

#include using namespace std;

class dependentobject1

string getdata()

private:

string data;

};

dependentobject2.h建立依賴物件2

#include using namespace std;

class dependentobject2

string getdata()

private:

string data;

};

coarsegrainedobject.h建立粗粒度物件

#include "dependentobject1.h"

#include "dependentobject2.h"

#include class coarsegrainedobject

void setdata(string data1, string data2)

vectorgetdata()

private:

dependentobject1 *do1;

dependentobject2 *do2;

};

compositeentity.h建立組合實體

#include "coarsegrainedobject.h"

class compositeentity

void setdata(string data1, string data2)

vectorgetdata()

private:

coarsegrainedobject *cgo;

};

client.h建立使用組合實體的客戶端類

#include "compositeentity.h"

#include class client

void printdata()

}void setdata(string data1, string data2)

private:

compositeentity *compositeentity;

};

main.cpp例項應用 - 使用 client 來演示組合實體設計模式的用法

#include "client.h"

int main()

執行結果:

data: test

data: data

data: second test

data: data1

設計模式8 組合模式

組合模式首先想到的就是樹形結構,比如我們常用的檔案結構,請看windows的檔案結構 無論是檔案或者是資料夾,常用操作都是一致的,比如 複製 貼上 剪下 刪除 所佔空間大小。我們並沒有刻意的去分他是資料夾還是檔案。我們可以把資料夾看成是組合物件,把每乙個檔案看成是單個物件。組合模式模糊了這兩個概念,...

《設計模式12 組合模式

組合模式其實是乙個很形象的模式。它也被稱為部分整體模式。組合模式的結構就如同樹狀圖一樣。而樹就是枝幹 葉子的組合,組合模式可以形象的這麼理解。其實資料夾是乙個很好的組合模式的體現。乙個資料夾 樹根root 下可能有多個資料夾 枝幹trunk 可能是單個的檔案 樹葉leaf 而枝幹是可以繼續向下延伸的...

設計模式11 組合模式

組合模式有時又叫部分 整體模式在處理類似樹形結構的問題時比較方便 分支類public class treenode public string getname public void setname string name public treenode getparent public void ...