我有一个领域对象Invoice
,它具有大约60个属性,其中一些是必填的,而一些是可选的。这个Invoice
类是底层数据库表中记录的表示,使用应用程序层类(例如对于存储在数据库中的简单整数的枚举,对于双精度等货币等)包装某些列值。
目前这个Invoice
类的定义如下:
- 公共完整参数构造函数。
- 公共getter。
- 受保护的setter。
现在,对于创建Invoice
对象的客户端来说,将所有60个属性传递给构造函数是令人望而生畏的。由于明显的原因,我坚决反对使setter变为public。
请问你可以建议更好的方法来允许创建/修改此发票对象吗?如果需要更多详情,请告诉我。