设计模式之建造者模式(Builder Pattern)
来源:互联网 发布:大学的意义知乎 编辑:程序博客网 时间:2024/04/30 07:31
建造者模式包含四个角色:
Builder:抽象建造者
ConcreteBuilder:具体建造者
Director:指挥者
Product:产品角色
Builder:
public abstract class Builder { //第一步,装CPU public abstract void BuilderCPU(); //第二步,装主板 public abstract void BuilderMainboard(); //第三步,装硬盘 public abstract void BuilderHD(); //返回产品,获得组装好的电脑 public abstract Computer getComputer();}
ConcreteBuilder:
public class ConcreteBuilder extends Builder{ //创建产品实例 Computer computer = new Computer(); //组装产品 @Override public void BuilderCPU() { // TODO Auto-generated method stub computer.add("cpu"); } @Override public void BuilderMainboard() { // TODO Auto-generated method stub computer.add("主板"); } @Override public void BuilderHD() { // TODO Auto-generated method stub computer.add("硬盘"); } @Override public Computer getComputer() { // TODO Auto-generated method stub return computer; }}
Director:
public class Director { //指挥装机人员装电脑 public void Construct(Builder builder){ builder.BuilderCPU(); builder.BuilderMainboard(); builder.BuilderHD(); }}
Product:
public class Computer { //电脑组件的集合 private List<String> parts = new ArrayList<>(); //用于将组件组装到电脑里 public void add(String part){ parts.add(part); } public void show(){ for(int i = 0; i < parts.size() ;i++){ System.out.println("组装了"+parts.get(i)); } System.out.println("电脑组装完成"); }}
BuilderPattern:
public class BuilderPattern { public static void main(String[] args) { //找到该店的老板和装机人员 Director director = new Director(); Builder builder = new ConcreteBuilder(); //老板叫人去装电脑 director.Construct(builder); //装完后,组装人员拿来装好的电脑 Computer computer = builder.getComputer(); //把电脑拿给小成 computer.show(); }}
输出结果:
组装了cpu组装了主板组装了硬盘电脑组装完成
0 0
- 设计模式----建造者模式(Builder Pattern)
- 设计模式---建造者模式(Builder Pattern)
- 设计模式【建造者模式Builder Pattern】
- Net设计模式实例之建造者模式(Builder Pattern)
- C#设计模式之建造者模式(Builder Pattern)
- JAVA设计模式之 建造者模式【Builder Pattern】
- 设计模式(创建型)之建造者模式(Builder Pattern)
- 设计模式之建造者模式(Builder Pattern)
- Android设计模式之建造者模式(Builder Pattern)
- Android设计模式之建造者模式(builder pattern)
- Android设计模式之建造者模式(Builder Pattern)
- 设计模式总结之Builder Pattern(建造者模式)
- C#设计模式之建造者模式(Builder Pattern)
- Net设计模式实例之建造者模式(Builder Pattern)
- 设计模式之建造者模式(Builder Pattern)
- design pattern Builder 建造者设计模式
- Java之建造者模式(Builder Pattern)
- Java之建造者模式-Builder Pattern
- 2017-03-11
- Effective java笔记-对于所有对象都通用的方法
- 递归生成格雷码
- 凸优化笔记(一):仿射集,凸集与锥
- POJ
- 设计模式之建造者模式(Builder Pattern)
- 二叉树深度优先遍历
- 关于python类和实例的一些尝试
- 基于C++的任意格式图片显示及RGB读取
- OpenGL——光照系统
- Base64简介
- GYM 100182 B.Euclid(计算几何)
- 401. Binary Watch
- Problem--82A--Codeforces--Double Cola