最近我在尝试编写有关所请求参数数量的课程时被撕裂了。
一个非常简单的构造函数示例:
Burger(bun, meat, cheese, lettuce)
this.bun = bun
this.meat = meat
...
Vs的
Burger(grocery)
this.bun = grocery.bun
this.meat = grocery.meat
...
两种方式都是有效的方法。第一种方式准确地显示了进入汉堡的内容,将参数分解为更一般的类,因此它减少了耦合,我认为通常更容易测试,因为对象图更简单。
但第二种方式更简单,更清洁,也许汉堡可能需要更多的成分,然后第一种方式的争论可以大大增加。
我想知道在这种情况下推荐哪种方式?寻求更干净但更多耦合的代码,或更冗长的方式。
答案 0 :(得分:5)
将4+个参数传递给任何方法或构造函数不是一个好主意或一个好的设计。
我记得约书亚布洛赫(Effective Java)推荐Builder Pattern这种情况(第2项)
Item 2:在面对许多构造函数参数时考虑构建器