我正在设计一个班级…
有一些关键的方法需要向它们传递一个对象,或者它们需要能够“获取”一个对象。
所以问题是,应该使用getter/setters还是直接将对象作为参数发送给方法-以便方法正常工作。或者,如果对象对类的正确操作非常重要,那么应该通过构造函数设置它们吗?
最佳答案
如果没有某个对象就没有这个类的实例是没有意义的(例如在没有连接到数据库的情况下构造一个数据访问类可能是没有意义的),那么它就是一个“依赖项”,应该是构造函数的一部分。
如果您的类可以在没有它的情况下生存,或者可以使用一些默认值,那么您可以将其设置为属性,并在使用之前检查它是否已分配。
不过,在大多数情况下,我强烈提倡构造函数依赖注入。
关于c# - 类设计-属性还是参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/632583/