一、什么是建造模式:
建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而使一个建造过程生成具有不同内部表象的产品。客户端不需要知道产品内部的结构和生产过程。
二、建造模式的结构:
Builder(抽象建造者角色):一个抽象的建造者父类结构,规定产品对象各个组成成分的建造。
ConcreteBuilder(产品的具体建造者):继承抽象建造者角色,实现建造方法buildPart1()、builderPart2(),完成产品零件实例的创建;返回产品实例的方法retrieveResultProuduct(),一般而言零件数和产品的建造方法数相同。
Prouduct(产品):具体建造者建造的对象。
Director(导演者角色):调用具体产品的创建者 ,获取产品对象。
总之,导演者角色与客户端直接打交道,导演者角色将客户端创建产品的请求划分为对各个零件的建造请求,再将这些请求委托给具体的建造者角色,具体建造者角色生产具体的零件,不被客户端所知。
1 /** 2 * 建造者模式产品对象 3 * 4 * @author ZhouDX 5 * @since 2019/3/6 22:02:58 6 */ 7 public class Product { 8 /** 9 * 产品Id 10 */ 11 private String prouductId; 12 /** 13 * 产品价格 14 */ 15 private String price; 16 17 public String getProuductId() { 18 return prouductId; 19 } 20 21 public void setProuductId(String prouductId) { 22 this.prouductId = prouductId; 23 } 24 25 public String getPrice() { 26 return price; 27 } 28 29 public void setPrice(String price) { 30 this.price = price; 31 } 32 33 @Override 34 public String toString() { 35 return "Product{" + "prouductId='" + prouductId + '\'' + ", price='" + price + '\'' + '}'; 36 } 37 }