这是我遇到过几次但还没有找到令人满意的答案的事情。这似乎很愚蠢,但在谷歌搜索了一段时间后,我想不出什么好东西。
假设我有一个包含 20 个实例变量的类,每个变量都是可选的(将被初始化或不被初始化)。
现在我希望我的构造函数处理所有情况,如果有几个实例变量很好,我可以创建具有不同签名的构造函数,但这里我有 20 个,所以我需要2^20=1,048,576 个构造函数来处理所有案件!这似乎......不是很理想,你不同意吗?
因此,由于使用这种蛮力方法,我基本上必须构造 2^n 个构造函数,其中 n 是实例变量的数量,我想找到一种更好的方法来做到这一点。
我已经看到了这个问题的几个解决方案,但我相信它们都是基于数据的假设,但在我的情况下,这些变量中的每一个都可以随机初始化或不随机初始化,我无法在初始化之前知道这一点。
我正在寻找一些可以应用的设计模式或想法,以使我的代码更加...可维护(不用担心,我没有创建 1M+ 构造函数 :)
谢谢。