Arquitectura de cebolla vs arquitectura de 3 capas

11

Solo veo beneficios para la arquitectura de cebolla sobre la arquitectura de 3 capas donde el BL tenía la responsabilidad de llamar a los métodos en DAL (o una interfaz de DAL) para hacer CRUD. La cebolla tiene una mejor separación de preocupaciones, capacidad de prueba, mantenibilidad y es más limpia.

Entonces, ¿la arquitectura de la cebolla es realmente mejor en todos los aspectos y la arquitectura de 3 capas es solo una forma antigua de hacer las cosas, o hay algunos escenarios en los que preferiría usar la arquitectura de 3 capas, si es así, cuál?

BornToCode
fuente

Respuestas:

10

Capas, cebollas, puertos, adaptadores: todo es lo mismo

Dado que este artículo deja en claro que la cebolla es equivalente a la aplicación de 3 capas + del Principio de Inversión de Dependencia (DIP), la pregunta es "¿dónde debería preferir usar DIP?" Yo diría que cualquier proyecto que no sea de juguete. El uso de DIP permite que el núcleo de su código sea más aislado, comprobable y mantenible. Cuando realmente no te importa eso es cuando se trata de un proyecto descartable o cuando estás intercambiando la mantenibilidad por el rendimiento.

Además, no confunda DIP con contenedores DI (inyección de dependencia). Uno no implica el otro.

Kasey Speakman
fuente