public class NutritionFacts {
private final int servingSize;
private final int servings;
private final int calories;
private final int fat;
private final int sodium;
private final int carbohydrate;
public NutritionFacts(Builder builder) {
servingSize = builder.servingSize;
servings = builder.servings;
calories = builder.calories;
fat = builder.fat;
sodium = builder.sodium;
carbohydrate = builder.carbohydrate;
}
public static class Builder {
// required parameters
private final int servingSize;
private final int servings;
// optional parameters
private int calories;
private int fat;
private int sodium;
private int carbohydrate;
public Builder(int servingSize, int servings) {
this.servingSize = servingSize;
this.servings = servings;
}
public Builder calories(int val) {
calories = val;
return this;
}
public Builder fat(int val) {
fat = val;
return this;
}
public Builder sodium(int val) {
sodium = val;
return this;
}
public Builder carbohydrate(int val) {
carbohydrate = val;
return this;
}
public NutritionFacts build() {
return new NutritionFacts(this);
}
}
public static void main(String[] args) {
NutritionFacts build = new Builder(240, 8)
.fat(100)
.sodium(11)
.carbohydrate(12)
.build();
}
}
Java Builder设计模式(实例)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于...
- 简单的泛型循环形参 方法定义中用到了泛型中循环形参表示法<E extends Comparable<E>>,按Ef...
- 道生一,一生万。 摘要: 本文将继续以OPENCSV为案例,介绍建造模式(Builder Pattern)以及在O...
- 原文:原文 1、Java Builder模式主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数,而且构...