建造設計模式

 

Director

 

 

/**
 * 導演者
 */
public class Director {

    private Builder builder;
    /**
     * 產品構造方法,負責調用各個零件的建造方法
     */
    public void construct(){
        builder = new ConcreateBuilder();
        builder.buildPart1();
        builder.buildPart2();
        builder.retrieveResult();
        
        //continue with other code
    }
}

  

Builder

 

/**
 * 建造者
 */
public abstract class Builder {
    /**
     * 產品零件建造方法
     */
    public abstract void buildPart1();
    /**
     * 產品零件建造方法
     */
    public abstract void buildPart2();
    /**
     * 產品返還方法
     */
    public abstract Product retrieveResult();
    
} 

 

ConcreateBuilder

 

/**
 * 建造者
 */
public class ConcreateBuilder extends Builder {

    private Product product = new Product();
    
    /**
     * 產品零件建造方法
     */    
    @Override
    public void buildPart1() {
        //build the first part of product
    }
    /**
     * 產品零件建造方法
     */
    @Override
    public void buildPart2() {
        //build the second part of product
    }
   /**
    * 產品返回方法
    */
    @Override
    public Product retrieveResult() {
        return product;
    }
}

 

 

Product

 

/**
 * 產品
 */
public class Product {
    
    //anything pertaining to product
}

 

發佈了45 篇原創文章 · 獲贊 0 · 訪問量 1452
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章