我試圖去掌握不同的模式(MVP,MVVM等),並找到一個適合我的需求。畢竟我還沒有確定。希望有人能爲我闡明這一點。模型,視圖,視圖模型和演示器
目前我有一個WPF視圖,它實現了一個接口ICustomView。這個接口被注入到我的Presenter中。然後,演示者負責訂閱數據,管理訂閱等。當數據返回給演示者時,它會針對模型(CustomBusinessObjects的IObservable集合)調用各種方法。它使用接口ICustomView執行此操作,因爲IObservable是模型的一個屬性。
我看到的這個問題是模型與視圖耦合太多。演示者還決定對模型調用哪些方法。目前,視圖由一個WinForms網格組成,這由ICustomView公開,允許演示者根據視圖調用方法。但它增加了Presenter和View的耦合,這使得很難換出這個WinForms網格的WPF網格或圖表等
我正在考慮使模型完全獨立的實體可以說IModel與單一方法ProcessUpdate字符串主題,IMessage有效載荷)。這會將邏輯從演示者轉移到模型中。這也意味着不止一種觀點可以分享相同的模型。自定義模型可以具有用於特定定製的額外界面,但演示者只需要瞭解IModel。
這聽起來像一個合理的想法?我在這裏錯過了什麼嗎?
任何意見讚賞。
感謝
WPF或Silverlight = MVVM,ASP.NET = MVP或MVVM – SQLMason 2011-04-19 14:54:14