Pregunta

Actualmente estamos buscando, ya sea usando CAB o MEF para nuestra próxima aplicación. No he visto ningún ejemplo en CodePlex de cómo la intermediación evento se controla para hermanos de comunicación de control, tal vez no me di cuenta. ¿Cómo funciona el control de la comunicación entre el trabajo en MEF?

Además, estamos planeando sobre el uso de Infragistics que ha proporcionado componentes adicionales para el marco CAB. ¿Qué tan bien se controla Infragistics integrar en MEF?

En general, vale la pena perseguir MEF durante decentemente grandes, 15.000 horas de estrictamente desarrollo, la aplicación?

¿Fue útil?

Solución

Puede que me equivoque, pero no creo que el MEF tiene ninguna intermediación evento. Es un motor general de composición similar a los contenedores COI pero destinado a una solución más general plug-in y la extensibilidad de la aplicación. CAB y el prisma por el contrario son los marcos de interfaz de usuario que permiten a las aplicaciones compuestas that're componen de componentes de interfaz de usuario. Dado que los componentes de interfaz de usuario lo más probable es que tenga que comunicarse entre sí y responder a las actividades de otros componentes de interfaz de usuario, el marco subyacente tiene que proporcionar un mecanismo de concurso completo (pub / sub) entre los componentes de interfaz de usuario.

Otros consejos

Si está utilizando MEF con WPF y el patrón MVVM, a continuación, sus partes normalmente exportan clases ViewModel y Vea las clases (por ejemplo DataTemplates, etc.). Su punto de vista se une al modelo de vista y utiliza las propiedades de dependencia y comandos para comunicarse de ida y vuelta. Por lo tanto, si la parte A tiene que comunicarse con la Parte B, entonces la parte A puede importar una referencia al modelo de vista de la parte B y se puede hacer llamadas a métodos de ida y vuelta. La Parte A también puede registrar controladores de eventos para eventos de la Parte B, etc.

MEF no incluye un mecanismo de concurso completo, sin embargo se puede utilizar agregador caso del prisma con el MEF. Hice un post sobre esto aquí.

http://codebetter.com/blogs/glenn.block/archive/2009/02/23/event-aggregation-with-mef-with-and-without-eventaggregator.aspx

La forma en que funciona es básicamente exporta clases de eventos compuestos de prisma.

HTH Glenn

Estoy de acuerdo con Scott. El modelo pub / sub "genérico" Parece interesante, pero rara vez he tenido una necesidad de ella. Si quiero un mensaje desacoplado, con MEF simplemente definir un contrato de I-Mensaje y luego exportar una aplicación, a continuación, importar donde quiera que lo necesite. Si se trata de un mensaje inflexible de tipos, voy a importar la parte exacta que necesito hablar con él y directamente el mensaje.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top