java設計模式之建造者模式

建造者模式:是對象的建立模式。建造模式能夠將一個產品的內部表象與產品的生產過程分割開來,從而能夠使一個建造過程生成具備不一樣的內部表象的產品對象。ide

建造模式能夠有三種角色:產品、建造器、把建造器組裝成產品的對象(導演者)ui

下面上代碼:this

產品類:spa

package build; /** * 產品 */
public class Product { private String part1; private String part2; public String getPart1() { return part1; } public void setPart1(String part1) { this.part1 = part1; } public String getPart2() { return part2; } public void setPart2(String part2) { this.part2 = part2; } }
View Code

建造器接口:code

package build; /** * 建造器 */
public interface Builder { void buildPart1(); void builPart2(); Product retrieveResult(); }
View Code

具體實現建造器接口實現類:對象

package build; public class ConcreteBuilder implements Builder { private Product product = new Product(); @Override public void buildPart1() { product.setPart1("構建第一部分"); } @Override public void builPart2() { product.setPart2("構建第二部分"); } @Override public Product retrieveResult() { return product; } }
View Code

導演類:blog

package build; /** * 組裝建造器的導演者 */
public class Director { /** * 持有當前須要使用的建造器對象 */
    private Builder builder; public Director(Builder builder) { this.builder = builder; } public void construct(){ builder.buildPart1(); builder.builPart2(); } }
View Code

Client類:接口

package build; public class Client { public static void main(String[] args) { Builder builder = new ConcreteBuilder(); Director director = new Director(builder); director.construct(); Product product = builder.retrieveResult(); System.out.println(product.getPart1()); System.out.println(product.getPart2()); } }
View Code
相關文章
相關標籤/搜索