所有,关于MVP的一个问题的合法性:MVP指导 - 演示实例
我有一个页面,对视图的工作。我们称之为IMyView。
我有一个主持人,填充视图。我们称之为MyViewPresenter。
我有另一位主持人,与另一种观点一起工作。它提供了一种名为“LoadComments()”的方法。我们称之为主持人MyOtherViewPresenter。
从我正在使用IMyView的页面开始,我想从MyOtherViewPresenter调用LoadComments()方法,但是根据MVP的“合法性”,我想知道是否应该允许我这样做。
我的问题是,如何利用其他呈现器提供的与其他视图一起使用的方法,从使用视图看起来不相关的视图的页面提供的方法?我是否应该专注于在演示者中提供相同的演示者方法,我的页面应与之协作,或者可以在每个视图中使用多个演示者,例如,
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
MyViewPresenter presenter = new MyViewPresenter(this);
presenter.LoadProduct();
MyOtherViewPresenter collab = new MyOtherViewPresenter();
string comments = collab.LoadComments();
}
}
在此先感谢您的任何想法和回应。
+1帮助方法。 您也可以考虑创建一个包含您的代码的基本演示者类。 – 2011-03-22 13:59:36
谢谢你的TurBas;像你说的那样抽象为辅助方法是有意义的,这是我将要使用的方法。我对MVP来说是个新手,我正在接受另一位开发人员在我参加的一个项目中放弃的位置,似乎他们正在使用从演示者方法拉出来的视图,我认为这是一种方式,为了保持一致性,我坚持使用它。你能简单解释一下吗?最好。 – Ian 2011-03-23 11:46:30