今天看了一個設計模式。總結下,以免忘了。
如何引入建造者模式的呢?
作者舉了個例子。建造小人。
當然需要 頭,左手,右手,左腳,右腳,軀幹。
建造的過程使用 使用類裡面的方法就行了。
但是如果需要一個胖的小人,一個瘦的小人呢?
就需要重新構造一個胖人類,一個瘦人類。 當然 使用者還需要自己處理構造的過程。
這樣 就出現了建造者模式也叫產生器模式 ,將 建造和表示分開。同時 整個構造過程需要保證相關的工序,並不是不規範的。和麥當勞和肯德基製作程式類似,但是和普通的街頭炒飯差異就大了,人家國外是走流程,走品質的
即使用者只需要知道我需要一個什麼樣的人 ,但是這個人是如何構造我不需要關係。
如何?呢?
需要間接的通過一個director類 知道類 來知道構建過程。
代碼 我也來分析一下。
class product{List<String> parts = new ArrayList<String>();void add(string part){parts.add(part);}void show(){/*輸出鏈表資料*/}}abstract class person{abstract void buildHead();abstract void buildQugan();abstract void buildLeftHand();abstract void buildRightHand();abstract void buildLeftFoot();abstract void buildRightFoot();} ;class thinperson extends person{//實現抽象類別函數product thinproduct = new product();void buildHead(){thinproduct.add();}product getresult(){return thinproduct;}}class fatperson extends person{ //實現抽象類別函數 類似瘦人}class director{public void Construct(person p){p.buildHead();/*構建全部*/}}static void main(string[] args){director dire =new director();person b = new thinperson();dire.Construct(b);product p = b.getresult();}
代碼大體就是這樣 ,UML圖我認為是最重要的