设计模式之-【Builder模式】
2013-11-03 20:53
127 查看
public class Main5{
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 static class Builder{ private final int servingSize; private final int servings; private int calories = 0; private int fat = 0; private int sodium = 0; private int carbohydrate = 0; public Builder(int servingSize,int servings){ this.servingSize = servingSize; this.servings = servings; } public Builder calories(int calories){ this.calories = calories; return this; } public Builder fat(int fat){ this.fat = fat; return this; } public Builder sodium(int sodium){ this.sodium = sodium; return this; } public Builder carbohydrate(int carbohydrate){ this.carbohydrate = carbohydrate; return this; } public Main5 build(){ return new Main5(this); } } private Main5(Builder builder){ servingSize = builder.servingSize; servings = builder.servings; calories = builder.calories; fat = builder.fat; sodium = builder.sodium; carbohydrate = builder.carbohydrate; } }
当一个类有很多属性
有很多的熟悉可以是默认的值的时候
可以通过写多个不同参数的构造方法去实现
但是很麻烦
这种方式设计上很灵活
基本上可以上任意的组合见Effective java (中文第二版) 第11页
相关文章推荐
- 步步为营 .NET 设计模式学习笔记 十、Builder(建造者模式)
- 设计模式-建造模式(Builder)
- 设计模式之Builder
- 我所理解的设计模式(C++实现)——建造者模式(Builder Pattern)
- 设计模式----Builder
- 24种设计模式--建造者模式【Builder Pattern】
- 5.23种设计模式的Java版--Builder (建造)
- 设计模式:Abstract Factory和Builder(转)
- 设计模式---生成器(Builder)
- 深入浅出设计模式 ------ Builder(生成器模式)
- JAVA设计模式------建造者模式(Builder模式)
- 设计模式之Builder Model(笔记)
- 设计模式-创建型模式#建造者模式Builder
- 设计模式之Builder
- 读书笔记_java设计模式深入研究 第四章 生成器模式 (建造者模式) Builder
- 设计模式之建造者模式(Builder)
- 设计模式(三):建造者模式Builder(创建型模式)
- 设计模式(三)-建造者模式(Builder模式)
- 设计模式笔记17:建造者模式(Builder Pattern)
- [用设计模式锻炼C#系列]之Builder