Java 设计模式 之 建造模式

本文通过一个具体的汽车构建实例,详细介绍了建造者模式的设计原理及其实现方式。文章展示了如何使用建造者模式来分离产品的构建过程与产品的组成部分,使得构建复杂对象的过程更加清晰且易于扩展。

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

http://www.verejava.com/?id=16999036622561

package com.builder.theory;

public class TestBuilder
{
    public static void main(String[] args)
    {
        Car car=Director.construct(new ConcreteBuilder());
        System.out.println(car.getHead());
        System.out.println(car.getBody());
        System.out.println(car.getFoot());
    }
}





package com.builder.theory;

public class Car
{
    private String head;
    private String body;
    private String foot;
    
    public String getHead()
    {
        return head;
    }
    public void setHead(String head)
    {
        this.head = head;
    }
    public String getBody()
    {
        return body;
    }
    public void setBody(String body)
    {
        this.body = body;
    }
    public String getFoot()
    {
        return foot;
    }
    public void setFoot(String foot)
    {
        this.foot = foot;
    }
    
    
}





package com.builder.theory;

public class Director
{
    public static Car construct(Builder builder)
    {
        builder.buildHead();
        builder.buildBody();
        builder.buildFoot();
        return builder.buildPart();
    }
}





package com.builder.theory;

public interface Builder
{
    public void buildHead();
    public void buildBody();
    public void buildFoot();
    public Car buildPart();
}





package com.builder.theory;

public class ConcreteBuilder implements Builder
{
    Car car=null;
    
    public ConcreteBuilder()
    {
        car=new Car();
    }
    

    @Override
    public void buildHead()
    {
        car.setHead("汽车头部建造完成");
        
    }

    @Override
    public void buildBody()
    {
        car.setBody("汽车身体建造完成");
    }

    @Override
    public void buildFoot()
    {
        car.setFoot("汽车尾部建造完成");
    }

    @Override
    public Car buildPart()
    {
        return car;
    }

}

http://www.verejava.com/?id=16999036622561

转载于:https://www.cnblogs.com/verejava/p/9237006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值