java 的builder模式——设计思想
来源:互联网 发布:unity3d汉化版 编辑:程序博客网 时间:2024/06/10 01:53
如果类的构造器或者静态工厂中具有多个参数,设计这种类时,Builder模式就是不错的选择。
具体做法:
不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器,得到一个builder对象。然后客户端在builder对象上调用类似于setter的方法,来设置每一个相关的可选参数。最后,客户端调用无参的bulid方法来生成不可变的对象。
例子:
public class NutritionFacts{
private fianl int servingSize;
private final int servings;
private final int calories;
private final int sodium
public static class Builder{
private final int servingSize;
private final int serving;
private int calories =0;
private sodium =0;
public Builder( int servingSize,int serving){
this.servingSize=servingSize;
this.serving =serving;
}
public Builder calories(int val){
calories=val;
}
public Builder sodium (int val){
sodium=val;
}
public NutritionFacts build(){
return new NutrionFacts(this);
}
}
private NutritionFacts(Builder builder){
servingSize =builder.servingSize;
serving =builder.serving;
calories =builder.calories
sodium =builder.sodium;
}
}
1.大家思考的问题是:如何构建这个对象呢?
答案是:NurtionFacts cola =new NutrionFacts.Builder(240.8).calories(100).soidum(35).build();
2.大家思考的问题:这种设计模式与重叠构造器模式、javaBean模式的优势在哪里呢?
这里不赘述了。
- java 的builder模式——设计思想
- Java设计模式—Builder
- Java设计模式——Builder模式
- java设计模式——Builder模式
- JAVA设计模式 — 生成器模式(Builder)
- java设计模式学习—生成器(Builder)
- JAVA设计模式——建造(Builder)模式
- java设计模式——建造者模式(Builder)
- JAVA设计模式——创建者模式(builder)
- Java设计模式——构造者模式(Builder)
- Java设计模式 —— 建造模式 (Builder)
- java设计模式——建造者模式(Builder Pattern)
- Java设计模式之——Builder 模式
- java设计模式——建造者模式(Builder)
- Java设计模式——建造模式(Builder Pattern)
- 设计模式之—建造者模式(Builder)-Java实现
- JAVA设计模式-Builder
- java设计模式-Builder
- opencv源码研究: icvGetHaarTrainingDataFromBG和icvGetHaarTrainingDataFromVec的区别
- 网络编程
- 在VirtualBox上安装OS X 10.10
- cocos2d-x 3.0 触摸机制的使用
- 移动互联网第一步
- java 的builder模式——设计思想
- Linux0.11内核--内核空间、用户空间之间的数据传输
- MVC北京络捷斯特第三方物流系统技术解析(九)到货通知
- 使用HDFS API列出目录下的所有文件
- mac中brew的安装使用及卸载详细教程
- Xcode 6.3.2 bug:编辑界面乱跳问题
- IIS6 部署 mvc 404
- error C2011: “XXX”:“class”类型重定义
- loadView、viewDidLoad、initWithCoder、initWithNibName、awakeFromNib的用法