我应该在基于MVP的Presenter类中使用System.Windows.Forms

时间:2010-11-22 02:51:07

标签: design-patterns mvp

在文章Build your own CAB Part #8 - Assigning Responsibilities in a Model View Presenter Architecture中,作者说:

  

但不允许任何引用   键入System.Windows.Forms   来自Presenter类的命名空间。


我对你的上述话语有些疑问。假设我想在UI中构建一个树,并且对于每个树节点,我需要附加一些信息,因此IView应该将一个接口AddTreeNode暴露给Presenter,因此Presenter可以调用此接口在树上添加treenode,对吧?我认为AddTreeNode接口的参数应该是(TreeNode newNode,TreeNode Parent),然后在Presenter类中它应该添加System.Windows.Forms作为参考,我该如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

  

IView应该将一个接口AddTreeNode暴露给Presenter

不是真的。我认为IView应该公开Presenter可以调用的事件来传递模型数据。视图层实现了这些事件,可以获取数据并调用任何控件方法(AddTreeNode等)。