2011-06-10 31 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

相关问题