¿Qué es Prism para WPF?


Me he encontrado con algo llamado Prisma mucho últimamente. Microsoft, que ejecuta el proyecto, lo describe como

Directrices para aplicaciones compuestas en WPF y Silverlight.

Incluso después de leer las descripciones más detalladas que hay, me temo que no tengo ni idea de qué se trata en realidad.

Espero aquí que alguien pueda darme una explicación clara y sucinta de lo que Prism es en realidad y por qué debería aprenderlo. Tengo he sido un desarrollador de WPF durante un par de años, he usado MVVM my fair share, y últimamente he encontrado gente usando Prism, pero personalmente me siento un poco fuera de lo común aquí.

En particular, me pregunto sobre los siguientes puntos:

  • ¿Es Prism literalmente solo (o principalmente) un folleto, como se da en el sitio de MSDN? ¿Incluye alguna biblioteca, si es así para qué exactamente?

  • ¿Es Prism un framework MVVM? ¿Debería usarlo como el " oficial de Microsoft MVVM framework " sobre otros por ahí o el mío?

  • ¿Proporciona inyección de dependencia? ¿Se relaciona con MEF en absoluto de esta manera?

  • Cualquier otra cosa que debería saber sobre lo que hace Prism, como desarrollador de WPF / Silverlight.

 122
Author: Hakam Fostok, 2011-06-08

2 answers

Prism es el Equipo de Patrones y Prácticas de Microsoft guía oficial para construir "aplicaciones compuestas" en WPF y Silverlight.

Su objetivo es proporcionar orientación sobre las mejores prácticas para crear aplicaciones a gran escala que sean flexibles en términos de desarrollo y mantenimiento.

Esto incluye orientación sobre la inyección de dependencias (a través de Unity o MEF), diseño (incluido el uso de MVVM), manejo de eventos compuestos, etc.


Es Prisma literalmente solo (o principalmente) un folleto, como se da en el sitio MSDN? ¿Incluye alguna biblioteca, si es así para qué exactamente?

Es un libro, pero también incluye las bibliotecas de soporte (en el sitio GitHub).

¿Es Prism un framework MVVM? ¿Debería usarlo como el "marco oficial de Microsoft MVVM" sobre otros por ahí o el mío?

Sí y no. Incluye guía para usar MVVM, pero es mucho más que un framework MVVM. Realmente no, en sí mismo, un "marco MVVM", aunque incluye orientación MVVM.

¿Proporciona inyección de dependencia? ¿Se relaciona con MEF en absoluto de esta manera?

Sí. Originalmente incluía Unity, pero la última versión incluye el uso de MEF para DI.

Algo más que debería saber sobre lo que hace Prism, como desarrollador de WPF/Silverlight.

Vale la pena echar un vistazo a cómo hacen las cosas. Tienen un concepto de "región" muy elaborado, como así como un buen soporte de agregación de eventos. También incluye buenas prácticas para el desarrollo contra WPF, Silverlight y Windows Phone simultáneamente.

 82
Author: Reed Copsey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-30 12:15:26

Es un framework para construir aplicaciones WPF y Silverlight.

Http://compositewpf.codeplex.com /

Solía llamarse "Prism" antes de que Microsoft lo renombrara a "CompositeWPF."

Respuestas:

1) Prism es un framework MVVM para usar como base para sus aplicaciones

2) Lo sugiero dependiendo de sus requisitos específicos. Usted debe publicar otra pregunta con detalles específicos para que pueda obtener algunas respuestas específicas.

3) Usos del prisma inyección de dependencia (Unity) pero no la "proporciona"

4) Imo, Prism proporciona una gran cantidad de funcionalidad, pero es pesado en la curva de aprendizaje. Para proyectos pequeños con usted como único desarrollador, es posible que no necesite la abstracción y las herramientas que proporciona.

 17
Author: rboarman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-08 01:42:33