建造者模式(builder):將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。
它主要是用於建立一些複雜的物件,這些物件內部構建間的建造順序通常是穩定的,但物件內部的構造通常面臨著複雜的變化。基本**建造者模式的好處就是使得建造**與表示**分離,由於建造者隱藏了該產品是如何組裝的,所以若需要改變乙個產品的內部表示,只需要再定義乙個具體的建造者就可以了。
#include#include#includeusing namespace std;
//product類,產品類,由多個部件組成
class product
void show() };
//builder類---抽象建造者類,確定產品由兩個部件parta和partb組成,並宣告乙個得到產品建造後結果的方法getresult
class builder
;//具體建造者類
class concretebuilder1 :public builder
void buildparta()
void buildpartb()
product* getresult() };
class concretebuilder2 :public builder
void buildparta()
void buildpartb()
product* getresult() };
//指揮類,用來控制建造過程,也用它來隔離使用者與建造過程
class director
};int main()
第十三章 併發
13.1 動機 13.2 基本執行緒 如果必須要控制現成的執行順序,最好是根本不用執行緒,而是自己編寫特定順序彼此控制的協作子程式。繼承thread類或者實現runnable介面。內部類實現。13.3 共享受限資源 1 如果要對類中的某個方法進行同步控制,最好同步所有方法。如果忽略了其中乙個,通常很...
第十三章 類
1.類簡單地說是乙個性的資料型別。類當中有資料成員,和成員函式。類的基本思想就是體現出資料的抽象和封裝。2.這裡只需要說明乙個問題即可 就是類成員函式的const型別 class screen public const int get const int i const int j const 這裡...
第十三章 事件
1 事件的作用 事件是對委託的封裝,如同屬性對字段的封裝。封裝後可以在委託上實現更複雜的邏輯。1.1 封裝訂閱 委託允許使用 對其進行賦值,但向乙個委託例項賦值多個委託時,使用 會造成覆蓋之前的委託。事件只支援 或 對事件進行賦值 1.2 封裝發布 委託可以在其他類進行訪問,而事件可以確保只有包容類...