以下是MVVM上的this article的excrept。有人可以举例说明如何在WPF中使用这些其他模式(命令,DI)吗? WPF中使用的其他设计模式是否在此处未列出?
您应该了解其他模式以帮助您使用MVVM。像命令(加入WPF,SL解决方案),中介和喘气依赖注入等模式。 。
答案 0 :(得分:25)
我写过关于其中一些内容的文章:WPF and Silverlight design patterns
以下是模式的简要说明:
1) MVVM - 用作模型转换器并替代代码隐藏。提高了可测试性,为ViewModel编写单元测试要容易得多。
2)依赖注入 - 用于提高类的可测试性(您可以将特定类的单元测试与其他类别分开编写)以及更轻松地更改实现的可能性(更改记录器) ,缓存提供商,网络服务等)
3)命令 - 默认情况下可以应用于Button和MenuItem控件,如果无法执行操作,则禁用控件。也用于MVVM模式,作为代码隐藏事件的替代。
经典书籍中已经在WPF中使用的其他模式:
答案 1 :(得分:1)
Setter依赖注入:
使用MVVM时,您必须将ViewModel实例注入View中,方法是将其设置为view.DataContext属性:
var viewModel = new CustomViewModel();
var view = new CustomView();
view.DataContext = viewModel;
答案 2 :(得分:1)
数据绑定(在View和ViewModel之间)使用Observer模式。另外:Factory模式可用于实例化ViewModel,但这是可选的。