2009-12-30 77 views
1

有人可以告訴我什麼MVP組件 - 監督控制器變體有責任實施與UI元素的啓用/禁用有關的邏輯?MVP - 監督控制器

例如,我有一個複選框和一些文本框的視圖。現在只有當複選框被選中時,才能啓用2個文本框。

如若邏輯來控制這是演示者或模型的負有責任?

回答

2

Supervising Controller假定

  • 查看與結合
  • 查看由主持人更新的模型進行簡單的數據,並通過數據,以便結合

所以基本上相互作用,找到你需要的責任組件確定誰有足夠的信息來進行更新。如果複選框的選中狀態直接映射到模型,則視圖是通過數據綁定完成的正確位置。另一方面,如果由於對用戶交互作出反應而由演示者計算狀態,則可以更新演示者的視圖。

+0

選中的複選框的狀態直接映射到模型。所以你在說,這是意見負責禁用2個文本框。不確定你的意思是'通過數據綁定'。你能解釋一下嗎?謝謝 – David 2009-12-30 17:04:56

+0

例如,如果您的視圖顯示來自模型的用戶和用戶對象列表具有布爾型IsLocked屬性。根據用戶列表視圖,您可以通過選中僅限解鎖用戶的複選框來進行選擇。在這種情況下,CheckBox.Enabled屬性將綁定到User.IsLocked,因爲它非常平凡的邏輯。但是,如果它的狀態計算不是微不足道的,我建議把它放到Presenter中。 – 2009-12-30 17:46:41