1.abstract factory 抽象工廠
簡單:考慮乙個程式:乙個人要裝修房子,要求要統一風格的,所以他必須在某乙個家具公司定製一整套家具(包括桌子,椅子,櫃子),他可以要求a公司給他a風格系列的桌子,椅子,櫃子,也可以要求b公司……b……。
以上的過程就是抽象工廠的設計模式。其中abstract factory包含了桌子,椅子,櫃子。他的子類實現特定風格(a風格,b風格)。
是不是特別簡單!
builder模式更簡單了。
builder的中文意思是生成器,我們的輸入是相同的,結果和過程那可不相同。比如我們要煮飯,給了一碗公尺,a把公尺煮成了飯,b成了粥,c成了爆公尺花,d煮成了鍋巴!
以上的過程就是builder的設計模式。其中a,b,c,d都是builder。我們把乙個builder交給乙個指揮官:director,director就能生成我們想要的東西。director對每個builder的指揮可能得因材施教,一步步的來,過程可能不同, 另外我們對這些builder的呼叫可能不好用虛基類。呵呵,那就不用好了,反正根據需要生成我們想吃的東西。
3 factory method 工廠方法
太簡單了:不就是乙個方法(method)麼。小孩子
考慮乙個小孩子畫畫這個事兒 。小孩子畫畫要彩筆,要彩筆的過程就是乙個factory method。a小孩要x彩筆,b----y,c---x等等,在小孩子這個虛類中有個虛函式要彩筆(factory method),然後這個虛類呼叫這個factory method開始畫畫,哈,咱們什麼都不知道,既不知道這個小孩子是誰,也不知道他用的什麼彩筆,不過他開始畫畫了。在小孩子的子類中要實現要彩筆這個factory
4prototype 原型
哇,簡單的不得了啦,不過,我還不知道怎麼去說它。
這個人很懶,什麼都沒說。
設計模式 建立型模式 簡單工廠模式
傳統的方式的優缺點 1 優點是比較好理解,簡單易操作。2 缺點是違反了設計模式的ocp原則,即對擴充套件開放,對修改關閉。即當我們給類增加新功能的時候,盡量不修改 或者盡可能少修改 簡單工廠模式 也叫 靜態工廠模式 public static pizza createpizza2 string or...
設計模式 建立型模式 原型模式
1 原型模式 prototype模式 是指 用原型例項指定建立物件的種類,並且通過拷貝這些原型,建立新的物件 2 原型模式是一種建立型設計模式,允許乙個物件再建立另外乙個可定製的物件,無需知道如何建立的細節 3 工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型...
設計模式 建立型模式
建立型模式 與物件的建立有關。1 簡單工廠模式 靜態工廠 簡單工廠關聯具體類,通過簡單工廠來建立具體的類。封裝變化到簡單工廠裡面去。工廠類 具體類 2 工廠模式 抽象工廠 具體工廠 具體類 要是新增新的類,只需要擴充套件就可以了。他們對外的行為是一致的。3 抽象工廠 抽象工廠 具體工廠 具體類 具體...