我正在使用一个类库,这些类首先具有巨大的构造函数,并传递了十五或二十个参数。这些类大约有二十个,它们有相似但不完全相同的论点。在某些情况下,参数十二被省略,在其他情况下,它被指定但不是必需的......
我正在考虑将这些参数组合到对象中,因为它们中的许多是相互关联的,例如,FirstName、LastName 和电子邮件地址到 Person 对象中。但这似乎导致了几个怪物类,其中没有使用对象会使用所有参数,并且大多数使用只会使用少数几个。
现在所有的验证逻辑都在所有的构造函数中......如果我可以解决将构造函数很好地链接到继承链的问题,那么我可以创建一个每个类都可以覆盖的抽象 Validate() 方法,并简化该设计。我检查了 Refactoring to Patterns,但我没有看到任何似乎与这个问题直接相关的内容。
注意:这不是一个骗局——我说的是类似的构造函数,而不是类似的对象。我已经从 wazoo 中获得了抽象基类。