[英]Model-View-Presenter and Transferring Large Objects
傳統上,我已經實現了Model-View-Presenter [Passive View],如下所示:
interface IView
{
string Title {set;}
}
class frmTextBox : Form, IView
{
...
public string Title
{
set { this.txtTitle.Text = value; }
}
...
}
class frmLabel : Form, IView
{
...
public string Title
{
set { this.lblTitle.Text = value; }
}
...
}
class Presenter
{
private IView view;
...
public void UpdateTitle
{
this.view.Title = "A Good Title";
}
...
}
傳統上我只在IView
接口中使用基本類型( int
, string
和bool
),因為我一直都知道您只需要在View中使用基本類型。 在存儲庫(例如NHibernate
)中,如果要在DataGridView
顯示項目列表,則必須將通用集合( IList<T>
)從模型傳遞給Presenter。 這是否違反了僅由基本類型組成的視圖背后的規則,還是在架構上可以做到?
即使我有一個數據傳輸對象(DTO),也更像是一個監督控制器,而不是我嘗試實現的被動視圖樣式。
思考?
哇,也許我錯過了很多東西。 我從未見過將視圖限制為僅顯示原始類型。
我想知道為什么使用此限制,它的好處是什么? 這並不是說“ IMO這是完全錯誤的”,但我對其好處感到好奇。 我的信念是,計算機現在已經足夠強大,除非您以特定的性能指標為目標,否則開發人員不惜重金以適應某些准則的成本將是對資源的昂貴使用。
並不是說這本身就是任何認可。 但是我見過的所有MVC文章都在視圖和控制器之間的類周圍很愉快。 由於MVP只是MVC的另一種形式,我想說如果MVC沒問題,那么MVP應該嗎?
存在模式可以幫助您根據他人的經驗設計解決方案。
它們不過是形式化的模板。
使用任何結構都可以提高工作效率,即使它不能完美地適合任意定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.