我正在使用一个类库,首先,构造函数有巨大的,传递了十五或二十个参数。这些类别中有二十多个,他们有类似的但不完全相同的论点。在一些,论点十二被省略,在其他人,它的指定,但不是必需的...对于许多具有类似但没有一致构造函数的类,最有效的设计是什么?
我想组成这些参数到对象,因为他们很多都是相互关联的,例如,名字,姓氏和电子邮件地址到一个Person对象。但是,这似乎导致了一些怪物类,因此对象的使用永远不会使用所有的参数,并且大多数使用只会使用少数几个。
现在所有的验证逻辑都在所有的构造函数中......如果我可以破解继承链中构造函数的问题,那么我可以创建一个抽象的Validate()方法,每个类都可以重写并简化设计。我检查了重构模式,但是我没有看到任何似乎直接影响这个问题的东西。
注意:这不是this的骗局 - 我说的是类似的构造函数,而不是类似的对象。我有一些抽象的基础课。