java23种设计模式之建造者模式(Builder)

 http://www.0755build.com

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类用户不知道内容的具体构建细节。使用它是为了构建复杂对象的过程和它的部件解耦。例如汽车,有很多部件:车轮、方向盘、发动机等等,Builder是为了将部件和组装过程分开。Builder莫斯是把复杂对象部件的创建和组装分别用Builder类和Director类来表示,Builder模式的实现代码如下:

//产品

package yw.build;

public interface Product {

}

//产品部件

package yw.build;

public interface Part {

}

 

//建造各个部件

package yw.build;

public interface Builder {
 //创建部件A 例如汽车车轮
 void buildPartA();
 //创建部件B
 void buildPartB();
 //创建部件C
 void buildPartC();
 //返回最后组装成品结果
 Product getResult();
}

//建造者的接口实现类

package yw.build;

public class ConcreateBuilder implements Builder{
 Part partA,partB,partC;
 //建造partA
 public void buildPartA() {
  
 }
 //建造partB
 public void buildPartB() {
  
 }
 //建造partC
 public void buildPartC() {
  
 }
 //将各部分组装成Product
 public Product getResult() {
  return null;
 }

}

 

//组件部件

package yw.build;

public class Director {
 private Builder builder;
 public Director(Builder builder){
  this.builder=builder;
 }
 //将部件partA partB partC组装成复杂对象
 public void construct(){
  builder.buildPartA();
  builder.buildPartB();
  builder.buildPartC();
 }
}

 

调用Builder进行工作

package yw.build;

public class TestBuilder {
 public static void main(String arg[]){
  ConcreateBuilder builder=new ConcreateBuilder();
  Director director=new Director(builder);
  director.construct();
  Product product=builder.getResult();
 }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值