我正在重构一个类并为它添加一个新的依赖项。该类目前正在构造函数中使用其现有依赖项。因此,为了保持一致性,我将参数添加到构造函数中。
当然,对于单元测试,有一些子类加上甚至更多,所以现在我正在玩改变所有构造函数的游戏来匹配,并且它需要很长时间。
这让我觉得使用带有setter的属性是获得依赖关系的更好方法。我认为注入的依赖项不应该是构造类实例的接口的一部分。您添加了一个依赖项,现在所有用户(子类和任何直接实例化您的用户)突然知道它。这感觉就像打破了封装。
这似乎不是现有代码的模式,所以我希望找出一般的共识是什么,构造函数与属性的优缺点。使用属性设置器更好吗?
翻过高山走不出你
绝地无双
相关分类