2011-06-22 25 views
8

A continuación se excreta de this article en MVVM. ¿Puede alguien dar un ejemplo de cómo se usan estos otros patrones (comando, DI) en WPF? ¿Hay algún otro patrón de diseño que se utiliza en WPF que no se ve en la lista aquí?Patrones de diseño utilizados en WPF

Hay otros patrones que debe tener en cuenta para ayudarlo en MVVM. Patrones como comando (cocido en WPF, soluciones para SL), mediador y gasp inyección de dependencia. .

+1

WPF y Silverlight son bastante similares en términos de estas cosas. – BoltClock

+0

@BoltClock: No estoy seguro de cómo se relaciona su respuesta con mi pregunta. ¿Puedes por favor elaborar? –

+0

¿Podría explicar por qué hace esta pregunta? –

Respuesta

1

de datos (entre Vista y ViewModel) usa el patrón Observer. Además: el patrón Factory se puede usar para crear instancias de ViewModel pero es opcional.

1

inyección de dependencias del organismo:

Al utilizar MVVM usted tiene que inyectar una instancia de modelo de vista en la vista mediante el establecimiento de la propiedad view.DataContext: unión

var viewModel = new CustomViewModel(); 
var view = new CustomView(); 
view.DataContext = viewModel; 
23

he escrito el artículo sobre algunos de ellos: WPF and Silverlight design patterns

Aquí se presenta una breve descripción de los patrones:

1) MVVM - utilizado como un conversor modelo y como un reemplazo de la código detrás. Mejora la capacidad de prueba, es mucho más fácil escribir pruebas unitarias para ViewModel.

2) inyección de dependencias - se utiliza para mejorar la capacidad de prueba de una clase (se puede escribir pruebas unitarias para una clase específica por separado de los demás) y la posibilidad de cambiar la aplicación de manera más fácil (cambiar un proveedor de registrador, memoria caché, servicio web, etc.)

3) Comando - se puede aplicar a los controles Button y MenuItem de forma predeterminada, deshabilita los controles si una acción no se puede ejecutar. También se usa en el patrón MVVM como reemplazo de eventos de código subyacente.

Otros patrones del libro clásico que ya se utilizan en WPF:

  • Singleton. La clase de aplicación en WPF y la clase HttpContext en formularios web.
  • Adaptador. El motor de enlace de datos, que utiliza la interfaz IValueConverter para convertir valores de enlace para la interfaz de usuario.
  • Decorador. La clase Border, que decora cualquier clase UIElement con un borde de grosor y color variable.
  • Fachada. La clase PrintDialog, que proporciona una interfaz simple que le permite utilizar todo el subsistema de impresión y documentos que proporciona WPF.
  • Comando. La interfaz de ICommand, implementada por las clases RoutedCommand y RoutedUICommand.
  • Iterador. La interfaz IEnumerator, que implementan muchas colecciones y listas en .NET Framework.
  • Observer. La interfaz INotifyPropertyChanged y eventos.
Cuestiones relacionadas