【设计模式】建造者模式
2023-09-11 14:20:52 时间
1 简介
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,一步一步构造一个由多个部分组成的复杂对象。
2 代码
(1)产品(Product)
public class Product {
private String partA;
private String partB;
public void setPartA(String s) {
partA=s;
}
public void setPartB(String s) {
partB=s;
}
public void show() {
System.out.println("partA:"+partA+"\tPartB:"+partB);
}
}
(2)构建者(Builder)
public abstract class Builder {
protected Product product=new Product();
public abstract void buildPartA();
public abstract void buildPartB();
public Product getResult() {
return product;
}
}
public class Builder1 extends Builder{
@Override
public void buildPartA() {
product.setPartA("A_1");
}
@Override
public void buildPartB() {
product.setPartB("B_1");
}
}
public class Builder2 extends Builder{
@Override
public void buildPartA() {
product.setPartA("A_2");
}
@Override
public void buildPartB() {
product.setPartB("B_2");
}
}
(3)指挥者(Director)
public class Director {
private Builder builder;
public void setBuilder(Builder builder) {
this.builder=builder;
}
public Product construct() {
builder.buildPartA();
builder.buildPartB();
return builder.getResult();
}
}
(4)客户端(Client)
public class Client {
public static void main(String[] args) {
Builder builder1=new Builder1();
Builder builder2=new Builder2();
Director director=new Director();
director.setBuilder(builder1);
Product product1=director.construct();
product1.show();
director.setBuilder(builder2);
Product product2=director.construct();
product2.show();
}
}
相关文章
- 设计模式之责任链模式
- 设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)
- 设计模式(五)——建造者模式
- iOS设计模式 - 单例模式
- java设计模式4--建造者模式(Builder)
- iOS设计模式之工厂方法模式
- 设计模式 --迭代器模式(Iterator)
- 《大话设计模式》--策略模式
- 「补课」进行时:设计模式(3)——和做菜一样简单的模版方法模式
- Python使用设计模式中的责任链模式与迭代器模式的示例
- 《大话设计模式》--建造者模式
- 不一样的建造者模式(设计模式二十一)
- 不一样的命令模式(设计模式十五)
- 简单工厂模式(设计模式02)
- 设计模式-建造者模式+模板模式=自定义用户需求
- 设计模式 单例模式的缺陷和补救办法及应用场景2
- Java的二十三种设计模式(建造者模式(Builder))
- Android kotlin 设计模式(单例模式,建造者模式,代理模式)
- Android 设计模式之工厂模式
- C++设计模式:建造者模式
- C++设计模式:MVC 模式
- C++设计模式:解释器模式
- 设计模式的C语言应用-建造者模式-第七章
- 【图文详解系列】设计模式之代理模式(Proxy Pattern)
- Python 设计模式之建造者模式 Builder Pattern
- java设计模式:观察者模式
- C#设计模式之建造者模式
- 设计模式(Python语言)----建造者模式
- 【C++设计模式】创建型模式 — 建造者模式
- 设计模式C++实现——观察者模式