2010-03-29 56 views
1

我有一个域模型可以处于多个状态,如果这些状态超出给定的范围,域应该自动作出反应。掌握控制器,它真的需要一个用户界面来存在吗?

比如我有一个由具有测量

引擎多东西租车 - 转速表和温度

燃油箱 - 容量

可以肯定的是有一个CarStateController ,它观察发动机和油箱,如果这些状态超出范围即发动机温度超出范围,请开启发动机风扇。

没有UI,(你可以认为它会显示在仪表板上的光,但这种情况下,它不会),这是一个有效的使用GRASP控制器模式?如果不是这个CarStateController调用了什么?

还是我完全错过了这一点,这应该是国家模式?

回答

1

你有没有想过把这个问题发送给克雷格拉尔曼,谁创造了GRAS模式?他可能会也可能不会回答你的问题。在他的着作APPLYING UML和Patterns中,我理解Facade控制器的方式,门面控制器不应“维护有关系统或域的重要信息”PG 311第3版。否则你会得到一个臃肿的控制器。听起来就像你需要一个叫做'Regulator'的额外域对象来监视其他域对象,并在级别太高或太低时做出反应。我意识到我不是在处理你的国家模式,那是因为我不熟悉它。