WPF中使用的设计模式

Sil*_*ent 9 wpf design-patterns

以下是关于MVVM的本文的摘录.有人可以举例说明如何在WPF中使用这些其他模式(命令,DI)吗?WPF中使用的其他任何设计模式是否在此处未列出?

您应该了解其他模式以帮助您使用MVVM.像命令(融入WPF,SL的解决方案),中介和喘息依赖注入等模式..

vor*_*olf 25

我写过关于其中一些的文章:WPF和Silverlight设计模式

以下是模式的简要说明:

1)MVVM - 用作模型转换器并替代代码隐藏.提高了可测试性,为ViewModel编写单元测试要容易得多.

2)依赖注入 - 用于提高类的可测试性(您可以将特定类的单元测试与其他类别分开编写)以及以更简单的方式更改实现的可能性(更改记录器,缓存提供程序,Web服务等)

3)命令 - 默认情况下可以应用于Button和MenuItem控件,如果无法执行操作,则禁用控件.也用于MVVM模式,作为代码隐藏事件的替代.

WPF中已经使用的经典书中的其他模式:

  • 辛格尔顿.WPF中的Application类和Web表单中的HttpContext类.
  • 适配器.数据绑定引擎,它使用IValueConverter接口转换UI的绑定值.
  • 装饰.Border类,它使用可变厚度和颜色的边框来装饰任何UIElement类.
  • 正面.PrintDialog类,它提供了一个简单的界面,使您可以使用WPF提供的整个打印和文档子系统.
  • 命令.ICommand接口,由RoutedCommand和RoutedUICommand类实现.
  • 迭代器.IEnumerator接口,.NET Framework中的许多集合和列表都可以实现.
  • 观察员.INotifyPropertyChanged接口和事件.


Ern*_*rno 1

数据绑定(View 和 ViewModel 之间)使用观察者模式。另外:工厂模式可用于实例化 ViewModel,但这是可选的。