创建型设计模式:建造者模式

建造者模式是一种创建型设计模式,包括产品角色、抽象建造者、具体建造者和指挥者四个组件。它简化了复杂对象的构建过程,相比抽象工厂模式,建造者模式不包含抽象产品,而是引入了指挥者角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

认识

建造者模式的结构:产品角色、抽象建造者、具体建造者、指挥者。相比抽象工厂模式,省掉了抽象产品,多了指挥者。

伪实现

产品

class Product{
    private String partA;
    private String partB;
    private String partC;
   	
   	//get set省略

	public void show(){
		展示产品特性
	}
 }

抽象建造者

abstract class Builder{
    //创建产品对象
    protected Product product=new Product();
    public abstract void buildPartA();
    public abstract void buildPartB();
    public abstract void buildPartC();
    //返回产品对象
    public Product getResult(){
        return product;
    }
}

具体建造者

public class ConcreteBuilder extends Builder{
    public void buildPartA(){
        product.setPartA("建造 PartA");
    }
    public void buildPartB(){
        product.setPartB("建造 PartB");
    }
    public void buildPartC(){
        product.setPartC("建造 PartC");
    }
}

指挥者

class Director{
    private Builder builder;
    public Director(Builder builder){
        this.builder=builder;
    }
    //产品构建与组装方法
    public Product construct(){
        builder.buildPartA();
        builder.buildPartB();
        builder.buildPartC();
        return builder.getResult();
    }
}

外部调用

	main
		//实例化具体建造者
		Builder builder=new ConcreteBuilder();
		//指挥者拿到具体建造者
        Director director=new Director(builder);
        //指挥者建造出来产品
        Product product=director.construct();
        //产品展示
        product.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值