【发布时间】:2009-12-10 12:37:53
【问题描述】:
我正在开发一种 HMI 应用程序,并正在创建对象来定义特定的机器。为了争论,假设这是一辆汽车。
引擎的对象是显而易见的。引擎上有一些常见的传感器,这是一些安装到引擎对象上的一些属性的对象。油门属性当然是一个输入。
这辆车至少有一扇门。每扇门都可以有一个窗户,它可以是可打开的,也可以是电动的。如果它是电动的,它将依赖于汽车的动力来运行。
现在,我应该将门作为汽车对象的属性公开,还是将其保密并让汽车对象在 OpenDoor 和 RollDownWindow 函数中操作门是最明智的?事件呢?我应该在引擎上公开事件,例如 LowOnOil 事件,还是应该在汽车对象中处理它,而女巫又可能有像 EngineIsLowOnOil 这样的事件?
你会怎么做?
【问题讨论】:
-
没有单一的最佳答案,我认为这属于社区 wiki。
-
有一个最佳答案:John R. Strohm's。