2011-06-10 36 views
3

在WP應用程序中哪種方法更好。在Windows Phone應用程序中哪種方法更好?

  1. 從頁面的.xaml,調用另一個類的方法(傳遞.xaml.cs的代表回調方法),這使得一些請求到服務器,接收數據,並且當完成請求調用的.xaml。 cs頁面方法。在回調方法中,我們獲取數據並將數據與控件(ListBox)綁定。

  2. 將列表框與MainViewModel類的ObservableCollection對象綁定。並從MainViewModel更改有界對象。所有對服務器的請求調用都在MainViewModel類中進行。

回答

4

我投票的選項2.事件的項目模板(如數據綁定應用程序模板爲Windows Phone 7)給你MainViewModel並在該類結合一個ListboxObservableCollection

MVVC方法爲您提供了更多靈活性,您的UI完全與邏輯分離。您的用戶界面需要知道的是,它綁定到ObservableCollection,並且不需要知道該集合是如何填充的。

+0

同意,保留儘可能多的代碼了.xaml.cs允許你爲它編寫自動化測試單獨(假設你控制訪問它的依賴關係,如web請求) – 2011-06-12 21:02:44

+0

謝謝,但第一種方法你的UI也保持完全與邏輯分離,當執行控制回到xaml.cs中的回調方法時,我可以在UI中進行一些其他更改,如顯示/隱藏某些控件。如果應用程序很大,第二種方法是MainViewModel類可以有數千行,並且難以管理。 – Ishti 2011-06-13 10:38:43

+1

你不應該把所有的應用程序邏輯放在一個MainViewModel中,你有許多ViewModel對應用程序的不同部分都有邏輯。 – texmex5 2011-06-13 12:58:21

0

我認爲你應該使用第二種方法,它允許你創建鬆散耦合的應用程序。這樣的應用的一大優點是:

  • 的顧慮分離:不同的子系統/層是獨立
  • 單元測試是簡單
  • 重構容易
  • 增加能力代碼複用
  • ...

關於WP7,你可以閱讀我的文章展示瞭如何使用此方法的代碼: a framework for building of WP7 application

相關問題