java设计模式----建造者模式
来源:互联网 发布:新软件发布 编辑:程序博客网 时间:2024/06/05 15:17
分为四部分:产品角色,抽象构建者,具体构建者,指挥者
建造者模式:用户不需要知道具体的构造结构过程,只需要与指挥者进行沟通即可。指挥者根据不同的构建者得到不同的产品。构建者分装了整个产品的构建,是的产品能够完整的构建出来。
产品角色:
public class Car { public List<String> parts = new ArrayList<String>(); public void addPart(String part){ this.parts.add(part); }}
抽象构建者:
public interface Builder { public void addWheel(); public void addLight(); public void addFrame(); public void getResult();}
具体构建者:
public class ConcreteBuilder1 implements Builder { Car car = new Car(); @Override public void addWheel() { car.addPart("一般轮胎"); } @Override public void addLight() { car.addPart("一般车灯"); } @Override public void addFrame() { car.addPart("一般车架"); } @Override public void getResult() { System.out.print("汽车装配了:"); for (String part : car.parts) { System.out.print(part + " "); } System.out.println(); }}
public class ConcreteBuilder2 implements Builder{ Car car = new Car(); @Override public void addWheel() { car.addPart("不锈钢轮胎"); } @Override public void addLight() { car.addPart("卤素车灯"); } @Override public void addFrame() { car.addPart("钢制车架"); } @Override public void getResult() { System.out.print("汽车装配了:"); for (String part : car.parts) { System.out.print(part + " "); } System.out.println(); }}
指挥者:
public class Director { private Builder builder; public Director( Builder builder){ this.builder = builder; } public void construct() { builder.addWheel(); builder.addLight(); builder.addFrame(); }}
测试:
public class Test { public static void main(String[] args){ ConcreteBuilder1 concreteBuilder1 = new ConcreteBuilder1(); Director director = new Director(concreteBuilder1); director.construct(); concreteBuilder1.getResult(); ConcreteBuilder2 concreteBuilder2 = new ConcreteBuilder2(); director = new Director(concreteBuilder2); director.construct(); concreteBuilder2.getResult(); }}
结果:
汽车装配了:一般轮胎 一般车灯 一般车架 汽车装配了:不锈钢轮胎 卤素车灯 钢制车架
0 0
- JAVA-建造者设计模式
- Java设计模式-----Builder建造者模式
- Java设计模式-----Builder建造者模式
- JAVA设计模式--建造者模式
- java设计模式之建造者模式
- java设计模式之建造者模式
- 设计模式(JAVA)-------建造者模式
- java设计模式之建造者模式
- 【Java设计模式】之建造者模式
- java设计模式之建造者模式
- JAVA设计模式-建造者模式-Builder
- JAVA系列-设计模式-建造者模式
- Java--设计模式之建造者模式
- JAVA设计模式-建造者模式(Builder)
- java设计模式之-建造者模式
- java设计模式之建造者模式
- JAVA设计模式:建造者模式
- java设计模式之建造者模式
- mysql学习笔记(六):JDBC详解
- pdf转换成txt的操作方法分享
- MySQL大数据量表中删除重复记录
- C++11新特性
- Linux下获取硬盘相关信息
- java设计模式----建造者模式
- HDU 1325 Is It A Tree?(并查集简单题)
- vector的clear操作的内部过程
- 二叉树平衡检查(递归)
- Android学习笔记:Andorid网络请求框架Volley的使用(上)
- 信号--SIGCLD语义
- java RSA加密解密
- NumPy矩阵运算
- POJ 3126 Prime Path