NutritionFacts cocaCola = new NutritionFacts(240, 8, 100, 0, 35, 27);

这个调用通常需要许多你根本不想设置的参数,但却不得不设置,比如第三个传入的0。这种方式是可行的,但如果有很多参数的时候,客户端代码会很难编写,程序员会因为要避免传错参而小心翼翼。

记得之前在公司里面用了其他人封装的日志工具类LogUtil,里面的构造函数就是这样的风格~~,不仅传的参数多,还提供了各种各样不同参数组合的构造函数,最后当然逃不过被重写的命运 : )

JavaBeans模式:

NutritionFacts cocaCola = new NutritionFacts();
cocaCola.setServingSize(240);
cocaCola.setServings(8);
cocaCola.setCalories(100);
cocaCola.setSodium(35);
cocaCola.setCarbohydrate(27);