Pregunta

Al provenir de un entorno de TI corporativo, el estándar siempre fue crear un proyecto de biblioteca de clases para cada capa, lógica de negocios, acceso a datos y, a veces, un mayor aislamiento de tipos específicos.

Ahora que estoy trabajando en mi propio proyecto de aplicación web, no veo una necesidad real de aislar mi código de esta manera.

No tengo varias aplicaciones que necesiten compartir esta lógica o el servicio la habilita.Tampoco veo ninguna ventaja en los escenarios de implementación.

Me inclino por poner todos los artefactos en una aplicación web, separados lógicamente por carpetas de proyectos.

Quería saber qué piensa la comunidad.


Déjame agregar más información...

Estoy escribiendo esta aplicación utilizando MVC Preview 5, por lo que la pieza de prueba unitaria estará respaldada por la separación de preocupaciones heredadas en el marco.¡Me gusta tener pruebas para todo!

¿Fue útil?

Solución

Comience con lo más simple posible y agregue complejidad cuando sea necesario.Parece que un solo ensamblaje funcionaría bien para su caso.Sin embargo, tenga cuidado de no violar las capas haciendo que la capa A acceda a un miembro interno de la capa B.Eso haría más difícil separar las capas en conjuntos separados en una fecha posterior.

Otros consejos

Yo diría que depende de qué tan serio seas con respecto a las pruebas y las pruebas unitarias.

Si planea realizar solo pruebas de usuario/manuales, o usar básicamente, solo realizar pruebas desde la interfaz de usuario hacia abajo, entonces realmente no hace una diferencia.

Por otro lado, si planea realizar algún tipo de prueba unitaria o validación de reglas comerciales, definitivamente tiene sentido dividir su trabajo en diferentes ensamblajes.

Incluso para proyectos personales más pequeños, encuentro que este enfoque me hace la vida más fácil a medida que avanza el proyecto.Todavía ejecuto todo desde la misma solución, solo con un proyecto web para la interfaz de usuario, una biblioteca para las reglas comerciales/lógica de aplicación y otra biblioteca para DAL.

Aún debes separar lógicamente las capas en los proyectos adecuados.

Esa es una buena práctica de ingeniería, ya sea que sea solo 1 desarrollador o 100.Lo negativo del código todo en un solo lugar es que le obligará a refactorizar o duplicar el código para su expansión.

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