2010-03-29 49 views
1

我有一個域模型可以處於多個狀態,如果這些狀態超出給定的範圍,域應該自動作出反應。掌握控制器,它真的需要一個用戶界面來存在嗎?

比如我有一個由具有測量

引擎多東西租車 - 轉速錶和溫度

燃油箱 - 容量

可以肯定的是有一個CarStateController ,它觀察發動機和油箱,如果這些狀態超出範圍即發動機溫度超出範圍,請開啓發動機風扇。

沒有UI,(你可以認爲它會顯示在儀表板上的光,但這種情況下,它不會),這是一個有效的使用GRASP控制器模式?如果不是這個CarStateController調用了什麼?

還是我完全錯過了這一點,這應該是國家模式?

回答

1

你有沒有想過把這個問題發送給克雷格拉爾曼,誰創造了GRAS模式?他可能會也可能不會回答你的問題。在他的着作APPLYING UML和Patterns中,我理解Facade控制器的方式,門面控制器不應「維護有關係統或域的重要信息」PG 311第3版。否則你會得到一個臃腫的控制器。聽起來就像你需要一個叫做'Regulator'的額外域對象來監視其他域對象,並在級別太高或太低時做出反應。我意識到我不是在處理你的國家模式,那是因爲我不熟悉它。