所有,關於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