es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo reutilizar código de validación en múltiples características? – Arquitectura de Cebolla

Según entiendo en la arquitectura de cebolla, el dominio debe contener toda la lógica de negocio. Y la aplicación de validaciones de base de datos se realiza típicamente utilizando servicios.

Mi código está inspirado en este repositorio https://github.com/asadsahi/AspNetCoreSpa , donde utilizan características, donde cada carpeta tiene todas las reglas de validación y lógica para una característica específica dentro de la capa de aplicación.

¿Cuál es la mejor manera de compartir una validación específica para múltiples características? ¿Debo crear un servicio y usarlo para cada característica?

Y ¿cuál es la razón por la que trasladaron toda la lógica de negocio a la capa de aplicación mientras que las entidades del dominio no tienen ninguna lógica?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en c#, mediador y arquitectura de cebolla, recomendaría crear un proyecto o módulo separado para reglas de validación comunes que puedan ser compartidas entre múltiples características. Este proyecto o módulo puede contener servicios que proporcionen la funcionalidad necesaria para hacer cumplir estas reglas para cada característica. Al hacerlo, puedes evitar duplicar código y garantizar la consistencia en tu lógica de validación.

    En cuanto a la segunda pregunta, la capa de aplicación es responsable de coordinar las interacciones entre entidades de dominio y sistemas externos. Al trasladar la lógica empresarial a la capa de aplicación, puedes mantener tus entidades de dominio limpias y enfocadas en sus responsabilidades principales. Esta separación de preocupaciones ayuda a mantener una estructura de código clara y comprensible, facilitando la identificación y resolución de problemas cuando se presenten.

Comments are closed.