我负责支持使用 BusinessObjects(不包含逻辑,仅包含属性)的 C# Winforms 应用程序和带有操纵这些实体的类(“Helpers”)的 BusinessLayer。
问题:您是否应该将 BusinessObject 传递给 Helpers 构造函数,然后在构造函数中实例化 Helper 的可公开访问的 Entity 变量,或者您是否应该只将 Entity 传递给对其进行操作的方法?
场景一:构造函数
Car myCar = new Car();
CarHelper ch = new CarHelper(myCar);
ch.Wash(suds);
ch.Upgrade(upgradeKit);
ch.Save();
场景 2:作用于实体的方法
Car myCar = new Car();
CarHelper ch = new CarHelper();
ch.Wash(myCar, suds);
ch.Upgrade(myCar, upgradeKit);
ch.Save(myCar);
我在场景 1 中遇到的两个主要问题: A) 下一个开发人员必须深入研究 CarHelper 类才能意识到它有一个公共 Car 访问器属性,它在需要它的方法中引用该属性。这进一步混淆了 Helper 类,因为每个方法在执行其职责之前都需要检查“null” Car 属性... B) 如果在操作之间存在大量其他代码,则可能会不清楚 ch.Wash( ) 实际上是在做...它是否甚至对 Car 对象起作用...?
大家怎么看???