4

最近,我在尝试编写有关请求的参数数量的类时被撕裂了。

一个非常简单的构造函数示例:

Burger(bun, meat, cheese, lettuce)
    this.bun = bun
    this.meat = meat
    ...

VS

Burger(grocery)
    this.bun = grocery.bun
    this.meat = grocery.meat
    ...

这两种方式都是有效的方法。第一种方法准确地显示了汉堡的内容,将参数分解为更通用的类,从而减少耦合,我认为通常更容易测试,因为对象图更简单。

但是第二种方式更简单、更干净,也许汉堡需要更多的配料,那么第一种方式的争论就会大大增加。

我想知道在这种情况下会推荐哪种方式?选择更简洁但更耦合的代码,或者更冗长的方式。

4

1 回答 1

5

将 4+ 参数传递给任何方法或构造函数都不是一个好主意或一个好的设计。

我记得 Joshua Bloch ( Effective Java ) 针对这种情况推荐了Builder Pattern (Item 2)

第 2 项:在面对许多构造函数参数时考虑构建器

于 2011-01-07T06:29:55.627 回答