2009-12-30 78 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