Pregunta

No he hecho mucha programación .NET, pero he examinado algunos de los bloques de aplicaciones publicados por el grupo Patrones y Prácticas de Microsoft.Me preguntaba cómo se usan normalmente:

  • Vinculado directamente a las aplicaciones
  • Fuente agregada a las aplicaciones y construida con ellas, tal vez con algunas personalizaciones.
  • Código de muestra utilizado como referencia al escribir código específico de la aplicación

Estoy seguro de que estos tres usos son comunes, pero ¿cuáles son los patrones de uso más típicos?

¿Hay algunos bloques de aplicaciones en particular que son utilizados por "todos"?

Nota:Esta pregunta está relacionada con, pero no es la misma, que ¿Bloques de aplicaciones de biblioteca empresarial o marco de trabajo propio?.

¿Fue útil?

Solución

Por lo general, pongo la fuente en mi proyecto y luego puedo obtener un mejor sentido intelectual (y una mejor comprensión de ellos).Aunque no tiendo a personalizarlos en absoluto.Me gusta tenerlos en stock para poder distribuir los binarios en stock cuando los necesite.

Otros consejos

He utilizado ampliamente la biblioteca empresarial de Microsoft.Por lo general, nunca deberían incluirse en su proyecto, si es posible.El costo adicional de la compilación puede ser elevado.Además, no hay ninguna razón para tener el código fuente en su proyecto para usar las clases.Aún obtendrá inteligencia durante la codificación siempre que agregue una referencia a las DLL en sus proyectos.También es recomendable evitar tener múltiples bases de código flotando en su entorno de desarrollador.Si necesita personalizar las clases, ábralas en su propia solución y mantenga una versión activa.Por supuesto, siempre recomiendo encarecidamente utilizar el control de versiones (VSS o Subversion) en caso de que necesite revertir los cambios.

También existen alternativas de código abierto a las clases de Microsoft que normalmente están mejor codificadas (es decir,Log4Net, nUnit, etc.).El código de Microsoft tiende a ser inflado e ineficiente.

Probé varios bloques de aplicaciones de Enterprise Lib 3.1 (mayo de 2007) y aquí hay algunos comentarios:

Bloque de aplicación de almacenamiento en caché:Menos interesante que el sistema.web.caching en escenarios simples (como el almacenamiento en caché en memoria) Manejo y registro de excepciones:Demasiado complicado.NLog o Log4Net son mejores soluciones.

Miré los otros bloques pero no parecían encajar con nuestros proyectos.

Finalmente abandonamos EntLib por completo porque era complicado personalizarlo...Le aconsejaría que considere realmente una solución menos monolítica que EntLib.

Simplemente colocamos los binarios de EntLib 3.1 en la caché de ensamblados global y agregamos referencias en nuestros proyectos.Sin embargo, normalmente solo utilizamos el marco de registro.

Creo que la forma más conveniente es agregar bloques de aplicaciones\EntLib como elementos de solución.De esa manera, no se volverán a compilar cada vez que construya su proyecto (no participarán en el proceso de compilación en absoluto) y podrá acceder fácilmente a su código fuente/establecer punto de interrupción, etc.

Usamos los bloques agregando referencias a las DLL, asegurándonos de que "copiar local" esté configurado para que se implementen con la aplicación en la carpeta bin de la aplicación.Esto significa que no tenemos que perder el tiempo con el GAC: ¡es mucho más sencillo!

Al depurar, Visual Studio aún puede acceder al código fuente incluso si no está incluido directamente en su proyecto, siempre que tenga el código fuente de EntLib en algún lugar de su disco duro.Le solicitará la ubicación la primera vez que lo use y la recordará posteriormente.

Actualmente utilizamos los bloques Caching, Exception y Logging.Todavía no hemos pensado en un caso de uso para el resto.

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