Java设计模式--构建者模式(Builder)
2017-11-06 23:48
585 查看
构造性模式:
一般情况下iain,需要为自己开发的类提供构造函数使其能够被初始化。这些构造函数相互协作,并且类种的每个构造函数最终都会去带调用超类的构造函数。调用构造函数的方式有两种:
使用new操作符
使用发射来初始化和使用对象
构造者模式
创建一个对象时,并不一定拥有创建该对象的全部信息.而是需要逐步的获得创建对象的信息,更方便的做法就时分步骤构建对象。意图:将类的构建逻辑转移到类的实例化外部。
引入构造者模式,就可以提供一个中间对象来存储数据,直到准备好所有数据后,再根据中间对象的数据来构建目标对象。
小结:
构建者关注目标类的构建过程,目标类关注合法实例的业务本身。好处时在实例化目标类前,确保得到的是一个有效的对象,并且不会让构建逻辑出现在目标类本身。
构造者构建类对象的过程通常是分步骤的,这使得该模式通常被应用于解析文本以创建对象的场景。
代码如下:
package website.dengta.builder; /** * @author www.dengta.website * @date 2017-11-06 23:25 */ public class Product { public Product() { System.out.println("product is init"); } }
package website.dengta.builder; public abstract class Builder { Product product = new Product(); public abstract void builderPartA(); public abstract void builderPartB(); public abstract void builderPartC(); public abstract Product getResult(); }
package website.dengta.builder; /** * @author www.dengta.website * @date 2017-11-06 23:25 */ public class ConcreteBuilder extends Builder { private Product product = new Product(); @Override public void builderPartA() { System.out.println("组装A"); } @Override public void builderPartB() { System.out.println("组装B"); } @Override public void builderPartC() { System.out.println("组装C"); } @Override public Product getResult() { return product; } }
package website.dengta.builder; /** * @author www.dengta.website * @date 2017-11-06 23:33 */ public class Director { private Builder builder; public Director(Builder builder) { this.builder = builder; } public void construct(){ builder = new ConcreteBuilder(); builder.builderPartA(); builder.builderPartB(); builder.builderPartC(); builder.getResult(); } }
package website.dengta.builder; /** * @author www.dengta.website * @date 2017-11-06 23:35 */ public class TestCient { public static void main(String[] args) { Builder builder = new ConcreteBuilder(); Director director = new Director(builder); director.construct(); } }
a0db
相关文章推荐
- Java/Android 构建者(Builder)设计模式(又叫生成器模式)
- JAVA设计模式------构建者模式
- 设计模式——__构建者模式 Builder模式
- (4)Java设计模式-建造者模式(Builder)
- Java设计模式(二)Prototype(原型),Builder和Singleton(单态)
- java设计模式之Builder模式
- java设计模式-Builder
- 初识Java设计模式之Builder
- Java设计模式 建造模式(Builder)
- java设计模式---构建者模式
- 设计模式之构建者模式(Builder)
- 5.23种设计模式的Java版--Builder (建造)
- 设计模式之建造者模式java(Builder)
- Java设计模式实战-Builder
- java设计模式4--建造者模式(Builder)
- 设计模式学习之构建者模式(Builder)
- Java设计模式(5)——创建型模式之建造者模式(Builder)
- 浅谈 java 设计模式--构建模式(Builder pattern)
- 【java设计模式】之 建造者(Builder)模式
- 设计模式之构建者(Builder)模式