|
|
1
6
微软产品团队的指导(例如,Blend团队正在使用)是Model-ViewViewModel架构,这是流行的MVC模式的变体。一个好的起点是 http://blogs.msdn.com/johngossman/archive/2005/10/08/478683.aspx WPF博士也有关于这个主题的好文章。 本质上,他们主张创建一个ViewModel层,该层使用绑定友好的业务对象,如ObservableCollection等。 此外,如果您最终可能会迁移到Silverlight 2,您可能希望将业务对象排除在UI层之外,这样您就可以交换UI技术(直到WPF和Silverlight变得兼容源代码)。 |
|
|
2
2
我想我是从另一个角度看待它的。我尽量避免使用UI,这样我就可以使用我需要的任何UI演示文稿(即web、WPF、WinForms)。表示层中的业务逻辑越多,如果您迁移到不同的UI,以后可能需要重写的内容就越多。 |
|
|
3
2
在UI中拥有业务对象不是问题,只要你所做的就是 查看 他们。换句话说,如果你想更改一个的属性,或删除一个,或创建一个新的,你应该向控制器、演示者或其他任何人发送一条消息;然后应在视图中更新结果。
什么你
不应该
做就是使用
|
|
|
4
1
我不是WPF大师,我不能确定,但通常将M、V和C分开的原因是,这样你就可以独立于视图测试控制器,反之亦然。 当然,没有什么能阻止你,但如果它是独立的,它应该更容易测试(即单元测试)。MVP模式通常是微软推广的模式,它更倾向于让演示者(即你的WPF表单)拥有更多的控制权,这也很好。... |
|
|
5
1
根据您的应用程序架构或您计划重用组件和对象的方式,您可以选择与用户界面(在本例中为WPF)有一定程度的独立性。 以下是我的经验示例:
微软选择为微软增添一些好处,这有点糟糕
当然,这只是开始,我们中的许多人都知道,事情最终会朝着正确的方向发展。(有偏离主题的风险:以silverlight 2.0框架为例。这是一个仓促的发布,WPF模型中的一些对象缺失,一些对象不在其自然位置。)
|
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |
|
|
Barta · WPF MVVM不更新视图 1 年前 |
|
|
Denis Ivanov · WPF控件在属性更改时不会更新 1 年前 |
|
|
codymanix · WPF:TextBlock周围可见小边框? 1 年前 |
|
|
Nostromo · 来自背景对象的工具提示 1 年前 |
|
|
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 1 年前 |
|
|
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
|
|
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |