设计模式笔记-创建者模式
来源:互联网 发布:小站雅思 for mac 编辑:程序博客网 时间:2024/04/30 21:04
创建者模式和工厂模式的区别是:创建者模式关注整体和部分的组建,而工厂模式关注对象产生和创建的分离。
public interface Builder { public void buildProductId(); public void buildProductName(); public Product getProduct();}public class ConcreteBuilder1 implements Builder { private Product product = new Product(); public void buildProductId() { product.setId(1); } public void buildProductName() { product.setName( "product1"); } public Product getProduct() { return product ; }}public class ConcreteBuilder2 implements Builder { private Product product = new Product(); public void buildProductId() { product.setId(2); } public void buildProductName() { product.setName( "product2"); } public Product getProduct() { return product ; }}public class Product { private int id ; private String name ; public int getId() { return id ; } public void setId(int id) { this.id = id; } public String getName() { return name ; } public void setName(String name) { this.name = name; } public String toString() { return "productId :" + this.id + " productName : " + this.name ; }}public class Director { private Builder builder ; public Director(Builder builder) { this.builder = builder; } public void buildProduct() { builder.buildProductId(); builder.buildProductName(); } public Product getResult() { return builder .getProduct(); }}public class BuilderClient { public static void main(String args[]) { Builder builder = new ConcreteBuilder1(); Director director = new Director(builder); director. buildProduct(); System. out.println(director.getResult()); Builder builder2 = new ConcreteBuilder2(); director = new Director(builder2); director. buildProduct(); System. out.println(director.getResult()); }}
0 0
- 设计模式笔记-创建者模式
- 设计模式笔记——创建者模式
- 设计模式--创建者模式
- 设计模式-创建者模式
- 设计模式学习笔记:Builder(创建者)
- 创建者设计模式
- 设计模式系列-创建者模式
- 设计模式之创建者模式
- 设计模式-创建者模式(Builder)
- 设计模式之创建者模式
- 设计模式之创建者模式
- 设计模式之创建者模式
- 设计模式之创建者模式
- 设计模式之创建者模式
- 设计模式之创建者模式
- 设计模式之创建者模式
- 设计模式-创建者模式总结
- 设计模式之创建者模式
- 要求一个数组连续下标和的最大值,数组的元素可正、可负、可为零
- centos6.5中文输入法
- 详细解析Java中抽象类和接口的区别
- 数组中最大和子数组
- BZOJ 1493 NOI2007 项链工厂 Splay
- 设计模式笔记-创建者模式
- 泛型方法,数组和嵌套设置
- 设计模式(八)之 Composite(组合)
- AutoLayout(自动布局)入门
- javascript中Closure(闭包)的含义
- layoutSubviews总结
- 通过ShareSDK实现分享功能
- 前端限制表单值不为空,PHP照样插入控制
- 抽象方法和抽象类