c# - inherits - La mejor forma de crear un entorno de plugins en.NET
inherited method c# (4)
"mucho mejor" siempre depende de su punto de vista y requisitos. Si su enfoque se adapta a sus necesidades, consígalo. Pero los complementos pueden volverse muy rápidos y mucho más complicados. ¿Y las dependencias entre complementos? ¿Seguridad? Diferentes esquemas de cómo encontrar complementos? ...? Ese tipo de características ya están resueltas para usted. Si no los necesita, una biblioteca puede ser excesiva. Si los necesita, sería una mala idea reinventar la rueda. ;-)
Leí esta arícula Cómo cargar complementos en .NET? , y realmente no veo la brillantez del espacio de nombres System.Addin de Microsoft. ¿Por qué no puedo simplemente tener una carpeta de complementos en mi directorio bin a la que los usuarios pueden poner un ensamblado que implemente una interfaz que diseño? Entonces podría usar el reflejo para crear una instancia de la clase de complemento y hacer referencia a ella con mi interfaz.
¿Por qué la forma de System.Addin aparentemente es mucho mejor? Especialmente desde que parece tres veces el trabajo y un diseño menos intuitivo.
Deberías usar MEF , esa pregunta es de 2008
Mire el Marco de Extensibilidad Administrada de Microsoft; el código es de origen abierto, por lo que podría usarlo como base para escribir el suyo, o simplemente podría usar MEF directamente.
Recomendaría consultar el Marco de Extensibilidad Administrada (que se agregó al marco central en .NET 4). Le permite hacer exactamente lo que está describiendo, y es muy simple y flexible para usar en escenarios de extensibilidad.