设计模式之建造者模式

建造者模式定义

建造者模式就是将一个复杂对象的构建(同一类的不同实现)在客户端隐藏起来实现细节,可以使得同样的构建过程可以创建不同的表示。

建造者模式中出现的角色定义

产品类

我们想要构建的产品,每种产品都有自己的实现细。

bulilder抽象构建者

构造我们上面提到的同一产品类不同实现

ConcreteBuilder具体建造者

实现抽象类定义的所有方法, 可以返回一个组建好的对象。

Director类

负责定义我们在客户端想要创建的对象,然后通过其具有的构造器对象,针对每种对象构建,然后返回。

代码实现

// 产品类
public class Product {
public void doSomething(){
//独立业务处理
}
}
// 抽象建造者
public abstract class Builder {
//设置产品的不同部分, 以获得不同的产品
public abstract void setPart();
//建造产品
public abstract Product buildProduct();
}
public class ConcreteProduct extends Builder {
   private Product product = new Product();
//设置产品零件
public void setPart(){
 //产品类内的逻辑处理 
   }
//组建一个产品
public Product buildProduct() {
   return product;
  }
}
public class Director {
private Builder builder = new ConcreteProduct();
//构建不同的产品
public Product getAProduct()
{
builder.setPart();
//设置不同的零件, 产生不同的产品,产生的产品是我们上面进行setpart,进行过产品内逻辑处理的产品。
return builder.buildProduct();
}
	}

// 所以说该类避免了上层模块对我们实现产品细节的了解,客户端只需要执行获得不同实现细节产品的方法即可。

建造者模式使用场景

1:相同的方法, 不同的执行顺序, 产生不同的执行结果时,便采用建造者模式。
2:多个部件或零件, 都可以装配到一个对象中, 但是产生的运行结果又不相同时, 则可
以使用该模式。
3:当一个产品类非常复杂, 或者由于产品类中的调用顺序不同产生了不同的效能, 这个时候使用建造者模式非常合适
最重要的一点:
建造者模式关注的是零件类型和装配工艺(顺序)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值