建造者模式(生成器模式)
2017-12-06 09:53
387 查看
维基百科
生成器模式(英:Builder Pattern)是一种设计模式,又名:建造模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。
抽象创建接口
具体实现1
具体实现2
创建者
客户端
生成器模式(英:Builder Pattern)是一种设计模式,又名:建造模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。
抽象创建接口
public interface PersonBuilder { void buildHead(); void buildBody(); void buildArmLeft(); void buildArmRight(); void buildLegLeft(); void buildLegRight(); }
具体实现1
public class PersonThinBuilder implements PersonBuilder{ @Override public void buildHead() { System.out.println("瘦人头"); } @Override public void buildBody() { System.out.println("瘦人身体"); } @Override public void buildArmLeft() { System.out.println("瘦人左胳膊"); } @Override public void buildArmRight() { System.out.println("瘦人右胳膊"); } @Override public void buildLegLeft() { System.out.println("瘦人左腿"); } @Override public void buildLegRight() { System.out.println("瘦人右腿"); } }
具体实现2
public class PersonSideBuilder implements PersonBuilder{ @Override public void buildHead() { System.out.println("胖人头"); } @Override public void buildBody() { System.out.println("胖人身体"); } @Override public void buildArmLeft() { System.out.println("胖人左胳膊"); } @Override public void buildArmRight() { System.out.println("胖人右胳膊"); } @Override public void buildLegLeft() { System.out.println("胖人左腿"); } @Override public void buildLegRight() { System.out.println("胖人右腿"); } }
创建者
public class PersonDirector { private PersonBuilder personBuilder; //持有创建抽象接口 public PersonDirector(PersonBuilder personBuilder) { this.personBuilder = personBuilder; } public void CreatePerson() { //对客户端隐藏具体的实现 personBuilder.buildHead(); personBuilder.buildBody(); personBuilder.buildArmLeft(); personBuilder.buildArmRight(); personBuilder.buildLegLeft(); personBuilder.buildLegRight(); } }
客户端
public class Main { public static void main(String[] args) { //只需要告诉服务端要创建什么类型的人,不需要知道如何创建 PersonDirector personDirector = new PersonDirector(new PersonThinBuilder()); personDirector.CreatePerson(); } }
相关文章推荐
- 建造者模式(生成器模式)
- 建造者模式(生成器模式)
- 建造者模式(生成器模式)
- 设计模式-------------建造者模式(生成器模式)
- 5.建造者模式(生成器模式)
- 设计模式学习-----建造者模式(生成器模式)
- java设计模式——Builder(建造者模式(生成器模式))
- 设计模式解密(6) - 建造者模式(生成器模式)
- c++设计模式(建造者模式(生成器模式))
- 建造者模式(生成器模式)
- (创建型模式)BUILDER——建造者模式(生成器模式)
- 生成器模式(又名建造者模式、Builder Pattern)
- 建造者模式(生成器模式)
- 设计模式学习——建造者模式(Builder Pattern)/生成器模式
- JAVA设计模式---建造者模式(生成器模式)
- 【设计模式】建造者模式(生成器模式)
- 建造者模式(生成器模式)
- (创建型模式)Builder——建造者模式(生成器模式)
- 建造者模式(生成器模式)
- 建造者模式(生成器模式)