我想将模型视图Presenter模式用于包含用户控件的库,这些控件将在其他项目中使用。
根据MVP,我必须在用户控件上实现IView接口,并将其传递给Presenter类。
在我的例子中,消费者不需要访问IView-contract。但是,由于IView-interface是一个公共约定,这意味着用户控件的使用者也可以访问它的方法\属性,我希望这些方法\属性只对演示者可访问。
实现这一目标的好方法是什么?
发布于 2009-10-22 18:06:46
我已经为我的情况找到了解决方案。
我将IView接口设为内部接口,并在用户控件上显式实现它们。这样,IView- interface就不是用户控件的公共接口的一部分,而这正是我在本例中所需要的。
发布于 2009-10-15 12:28:10
我总是认为绑定到视图的用户控件本身不是一个单独的视图。他们应该能够访问他们所绑定的视图可以访问的任何演示者,但不在他们自己的视图中。相反,它们是视图的一部分,如果UI更改,则可以替换或更改它们,而无需考虑当前的情况。
在您的特定示例中,我将让用户控件不实现任何视图接口。相反,我只需要让用户控件程序集引用Presenter程序集,并具有允许访问它所属的View对象的属性。
https://stackoverflow.com/questions/1566032
复制相似问题