Java Builder 模式,你搞明白了么?

本文介绍了Java中的Builder模式,也称生成器模式,用于创建复杂对象。通过建造者模式,构建过程与表示分离,允许创建不同表示的产品。文中以家装为例,详细解释了Builder模式的四个角色:产品、抽象建造者、具体建造者和指挥者,并展示了如何通过Builder模式进行对象构建。此外,还讨论了Builder模式的优缺点,以及在实际开发中如何利用Builder模式简化对象构建。
摘要由CSDN通过智能技术生成

Builder 模式定义

Builder 模式中文叫作建造者模式,又叫生成器模式,它属于对象创建型模式,是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。下图是建造者模式的通用类图:
建造者模式UML图
在建造者模式中,有如下4种角色:

  • Product:产品角色
  • Builder:抽象建造者,定义产品接口
  • ConcreteBuilder:具体建造者,实现Builder定义的接口,并且返回组装好的产品
  • Director:指挥者,属于这里面的老大,你需要生产什么产品都直接找它。

建造者模式应用举例

家装

家装不管是精装还是简装,它的流程都相对固定,所以它适用于建造者模式。我们就以家装为例,一起来学习了解一下建造者模式。下图是家装建造者模式简单的 UML 图。

家装建造者模式简单的 UML 图

1、家装对象类
/**
 * 家装对象类
 */
public class House {
   
    // 买家电
    private String jiadian;

    // 买地板
    private String diban;
    // 买油漆
    private String youqi;

    public String getJiadian() {
   
        return jiadian;
    }

    public void setJiadian(String jiadian) {
   
        this.jiadian = jiadian;
    }

    public String getDiban() {
   
        return diban;
    }

    public void setDiban(String diban) {
   
        this.diban = diban;
    }

    public String getYouqi() {
   
        return youqi;
    }

    public void setYouqi(String youqi) {
   
        this.youqi = youqi;
    }

    @Override
    public String toString() {
   
        return "House{" +
                "jiadian='" + jiadian + '\'' +
                ", diban='" + diban + '\'' +
                ", youqi='" + youqi + '\'' +
                '}';
    }
}
2、抽象建造者 Builder 类
/**
 * 抽象建造者
 */
public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值