設計模式建造者模式

來源:互聯網
上載者:User

今天看了一個設計模式。總結下,以免忘了。

如何引入建造者模式的呢?

作者舉了個例子。建造小人。

當然需要 頭,左手,右手,左腳,右腳,軀幹。

建造的過程使用 使用類裡面的方法就行了。

但是如果需要一個胖的小人,一個瘦的小人呢?

就需要重新構造一個胖人類,一個瘦人類。 當然 使用者還需要自己處理構造的過程。

這樣 就出現了建造者模式也叫產生器模式 ,將 建造和表示分開。同時 整個構造過程需要保證相關的工序,並不是不規範的。和麥當勞和肯德基製作程式類似,但是和普通的街頭炒飯差異就大了,人家國外是走流程,走品質的

即使用者只需要知道我需要一個什麼樣的人 ,但是這個人是如何構造我不需要關係。

如何?呢?

需要間接的通過一個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圖我認為是最重要的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.