Builder設計模式

來源:互聯網
上載者:User

標籤:builder設計模式   java builder   

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/3F/EB/wKioL1PMzQKxSTJRAAKUiSwCEcE781.jpg" title="QQ圖片20140721161402.jpg" alt="wKioL1PMzQKxSTJRAAKUiSwCEcE781.jpg" />

Builder設計模式:個人認為,核心在於兩個類。Builder類和Director類。通過Builder類和Director類,把萬事萬物抽象為組件和組裝兩部分。通過兩部分的配合,把最終的產品,展示給客戶。,只組裝了一款產品。

公司做大以後,不僅可以提供一款產品。根據已有的功能多少和精簡,可以快速生產出多種的產品,只要不同的construct和Product就可以了。construct提供了三個功能,說明這是一款lenovo的thinkpadT430膝上型電腦。如果construct只提供了一個show功能,那可能就是聯想的平板了。

public interface Builder {     void call();     void show();     void work();   Product getResult();}
public class Lenovo implements Builder {   private Product lenovo;      public void call() {      // TODO: implement       lenovo.setCallFun("lenovo call");   }      public void show() {      // TODO: implement       lenovo.setShowFun("lenovo show");   }      public void work() {      // TODO: implement       lenovo.setWorkFun("lenovo work");   }      public Product getResult() {      // TODO: implement      return this.lenovo;   }      public Lenovo() {      // TODO: implement      lenovo = new Product();   }}
public class Product {     private String callFun;   private String showFun;     private String workFun;      public String getCallFun() {      return callFun;   }        public void setCallFun(String newCallFun) {      callFun = newCallFun;   }      public String getShowFun() {      return showFun;   }      public void setShowFun(String newShowFun) {      showFun = newShowFun;   }      public String getWorkFun() {      return workFun;   }      public void setWorkFun(String newWorkFun) {      workFun = newWorkFun;   }}
public class Director {   private Builder builder;      public Director(Builder builder) {      // TODO: implement      this.builder= builder;   }      public void construct() {      // TODO: implement      builder.call();      builder.show();      builder.work();   }}
public class CallBuilder {private static Builder builder;private static Director director;private static Product product;public static void main(String[] args) {builder = new Lenovo();director = new Director(builder);director.construct();product = builder.getResult();System.out.println(product.getCallFun());System.out.println(product.getShowFun());System.out.println(product.getWorkFun());}}


Builder設計模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.