建造者模式

建造者模式能够将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。

建造者与工厂模式相似,与抽象工厂的区别是:建造者模式里,有个指导者,由指导者来管理建造者,用户与指导者相互联系,指导者联系建造者,最终得到产品。即建造者模式可以强制实行一种分步骤进行的建造过程。

更通俗点说,工厂模式更多的是注重一个零件的制造,而建造者模式创造出来的是可以组合的产品。

      以下例子是根据汽车部件组装问题为背景

//建造者

public interface Builder{

void buildPartA();//构造车头

void buildPartB();//构造车身

void buildPartC();//构造车尾

public Product getResult()//获取车

}

//建造者工具

public class CarConcreateBuilder implments Builder{

Car  car=new Car();


public void buildPartA(){

//具体构建A的代码;

car.setHead("车头");

System.out.println("构造车头");

}

public void buildPartB(){

//具体构建B的代码;

car.setHead("车身");

System.out.println("构造车身");

}

public void buildPartC(){

//具体构建C的代码;

car.setHead("车尾");

System.out.println("构造车尾");

}

public Product getResult(){

//返回最后组装的结果

return car;

}

}

//指导者

public class Director{

private Builder builder;

public Director(Builder builder){

this.builder=builder;

public void construct(){

builder.buildPartA();

builder.buildPartB();

builder.buildPartC();

}

}

//产品

public class Car{

//车头

private String head;

//车身

private String body;

//车尾

private String tail;

//set()-get()方法

---------------------客户端------------------------------------------------------

public class  Client{

public static void main(String args[]){

//实例一个建造者

Builder  carConcreateBuilder=new  CarConcreateBuilder ();

//实例一个指导者

Director director =new Director(carConcreateBuilder);

// 指导Car类生产

director.construct();

//获得产品

Car car =carConcreateBuilder.getResult();


}

}

----------------一起学习,一起进步-------------------------------------------------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值