在我的應用程序是在c + +我使用MVC模式。我有很多模型對象,以及一系列可以從UI使用它們的動作。但是,行動只能做,如果某些條件得到滿足:MVC控制器啓用禁用控件
- 我不能表現對象A是否顯示或objectC顯示對象B,
- 並不能對對象A的任何行動,如果它不是顯示
- 其他更復雜的條件
所以我想有類,如果特定類的對象有目前有效的行動,這將驗證:
控制器類會詢問這個ActionValidators如果某個操作在特定時刻是可用的,並且如果是,他們將執行操作。
關注點1: 但是,當某些操作變爲可用/不可用時,如何自動禁用/啓用ui控件?我猜這些ActionValidators類應該也會在發生這種情況時發出一些事件?但後來我的UI控件應該連接到一羣不同ActionValidator類
關注點2的事件: 也許最好是有一個全局ApplicationActionManager類發出的事件,並將有關整個應用程序的所有對象的有效措施的信息?但是恐怕它最終會成爲一個很大的非連貫的類
關注點3: 當ObjectA顯示時,控制器還可以將顯示按鈕設置爲禁用並啓用隱藏按鈕,因爲這很簡單,但是這是控制器更新控制狀態的工作嗎?或者我應該發出顯示/隱藏狀態作爲事件嗎?
任何見解如何做到這一點。謝謝