¿Qué es la lógica de dominio? La página de Wikipedia para la lógica de dominio redirige a la lógica de negocios. ¿Son lo mismo y, de no ser así, cómo difieren?¿Qué es la lógica de dominio?
Respuesta
El dominio es lo que está modelando.
Si está modelando un problema de negocios, son lo mismo.
Si está modelando otra cosa, la física, por ejemplo, probablemente no haya lógica comercial en su sistema, pero las partes de física todavía son de dominio lógico.
¿La lógica de negocios es un subconjunto de la lógica de dominio? Esto parece contradecir la respuesta de Brian Knoblauch, si es así – Sydius
, no llamaría a la respuesta de Brian Knoblauch incorrecta, es solo una vista un poco más estrecha del concepto. Si está construyendo un sistema CRM, entonces su dominio problemático es CRM y su lógica de dominio es lógica de negocios específica para el área de CRM. – jakber
Lógica de negocio específica para un campo/área de especialización en particular.
¿Entonces la lógica de dominio es un subconjunto de la lógica comercial? Esto parece contradecir la respuesta de Jakber si es así. – Sydius
El dominio es el mundo en el que vive su aplicación. Por lo tanto, si está trabajando en un sistema de reserva de vuelo, el dominio de la aplicación serían las reservas de vuelos.
La lógica de negocios, por otro lado, es un bloque más discreto de todo el dominio de la aplicación. Business Logic es generalmente una tirada de código creado para realizar un proceso comercial específico. Entonces tendrías lógica de negocios para hacer una reserva. Otra lógica comercial sería el código para reembolsar los boletos cancelados.
¡Los objetos que respaldan su proceso de negocio se convierten en sus objetos de negocio!
Mi dominio es farmacéutico. Se trata de compartimentos, dosis, ecuaciones diferenciales y estadísticas. Si quieres llamar a eso mi "negocio", entonces supongo que es "lógica comercial".
La lógica del dominio se aplica al dominio del problema, p. "procesando orden". La lógica de dominio se trata de las entidades con las que trabaja (el modelo de objetos) y sus relaciones.
La lógica empresarial contiene reglas específicas para su contexto, p. Ej. "los pedidos de los clientes del grupo X se procesarán utilizando el descuento Y al exceder el monto Z". La "lógica" empresarial se trata de codificar hechos sobre su negocio (o el negocio del cliente que usa el programa).
Yo diría que la lógica de negocio está relacionado con:
cualquier lógica o asociación entre entidades en el dominio.
Entonces, ¿cómo se relaciona un Estudiante con una Clase o un Estudiante? ¿Cómo se crea una nueva clase y cómo registrar un estudiante para esa clase?
Cualquier cosa relacionada con reglas comerciales, determinación de resultados, servicios, eventos, procesos, cálculos, transformación y manipulación/creación de datos relacionados.
Me ha resultado difícil encontrar buenos libros/profesores para ayudar a estructurar la lógica del dominio. Es fácil estructurar el dominio. Pero la lógica de dominio me parece un lugar al que nadie quiere ir.
La lógica de negocio es teleológica (referentes a cómo lograr un objetivo), mientras que la lógica de dominio es ontológica (lo que existe, o el modelo de objetos que se utiliza para razonar con)
Si fueran a ser diferentes, creo que esta sería la mejor respuesta sobre cómo. La lógica de dominio encapsularía sus diferentes objetos de dominio y su relación entre sí. Mientras que Business Logic describiría cómo cada objeto usa esas relaciones para lograr un objetivo específico. –
¡La respuesta más clara hasta ahora, gracias! Entonces, en este sentido, la capa de datos se ocuparía de la persistencia (y acceso, consulta, etc.) de los objetos de la lógica del dominio, ¿verdad? – boramalper
- La lógica de negocio se ocupa de la coordinación de las interacciones válidos entre la vista y el modelo (ui y datos).
- Domain Logic consiste en mantener una representación del modelo coherente internamente en ambos lados de la aplicación (cliente y servidor).
Vamos a cubrir un escenario.
Tiene un cliente para restricción XYZ y quiere que su sistema esté en línea.
donde el usuario puede realizar un pedido en línea, realizar un seguimiento de ellos, hacer el pago, etc.
Para un punto de vista del cliente de este sistema sería llamado Idea de Negocio mientras que "poner orden en línea" dice que es uno de los proceso de negocio y si el usuario realiza el pedido en línea, el cliente quiere cada detalle del usuario, quiere mostrarlo en la pantalla, etc. dice que es lógica de negocio.
Ahora va a modelar su idea de negocio en su punto de vista de una manera que el sistema pueda cumplir su todo proceso de negocio o su idea completa de negocios dice que Ámbito del problema o aplicación de dominio o dominio de su Aplicación.
Ahora primero identificará todos los procesos de negocio. E identifique entidades u objetos para llevar a cabo procesos comerciales. Se dice que ese objeto es Business Obect o Objeto de dominio y método o lógica que implementan procesos de negocios como placeOrder dice que es Domain Logic.
Así lógica de negocio es lo cliente quiere porque está en cliente del dominio de negocio y la lógica de dominio es la forma de ponerla en práctica. porque está en el dominio de tu aplicación.
- 1. Lógica de dominio vs validación de datos
- 2. ¿Qué es la plantilla sin lógica?
- 3. Confusión entre lógica de vista y lógica de dominio en una aplicación web ASP.NET MVC
- 4. ¿Qué es un dominio de aplicación .NET?
- 5. Qué es un modelo de dominio
- 6. ¿Qué es un error de dominio
- 7. ¿Qué es un dominio de aplicación .NET?
- 8. Dónde poner la lógica de dominio que necesita recuperar datos de la base de datos
- 9. Cómo agregar lógica de negocios al servicio de dominio en el diseño controlado por el dominio?
- 10. ¿Es lógica de negocios subjetiva?
- 11. ¿Es una buena idea "migrar el código de lógica de negocios a nuestro modelo de dominio"?
- 12. ¿Qué lógica debería ir en la clase de dominio y qué debería ir en un servicio en Grails?
- 13. Tener problemas para poner la lógica del mundo real en la capa de dominio DDD
- 14. ¿Qué es el diseño impulsado por dominio?
- 15. ¿Qué es el diseño impulsado por dominio?
- 16. ¿La mejor manera para que una GUI de Swing se comunique con la lógica de dominio?
- 17. Repositorio, servicio o objeto de dominio: ¿a dónde pertenece la lógica?
- 18. ¿Por qué `to` es un nombre de dominio válido?
- 19. ¿Debe colocarse la lógica comercial en el dominio o los servicios?
- 20. ¿Cuál es la lógica para permitir que `?` Se escape?
- 21. ¿Es buena idea la lógica comercial en los constructores?
- 22. ¿Por qué no ha atrapado la programación lógica?
- 23. ¿Qué significa "dominio" y "persistencia"?
- 24. La implementación de la lógica de texto
- 25. Diseño impulsado por dominio, objetos de dominio, actitud sobre Setters
- 26. ¿Qué es mejor? ¿Tiene lógica de búsqueda complicada en el repositorio o en un servicio de nivel de dominio (a través de IQueryable u otro)?
- 27. ¿Es posible la lógica booleana en plantillas django?
- 28. ¿Cómo funciona la asignación lógica de JavaScript?
- 29. Escala lógica de prueba
- 30. ¿Cómo analizo la lógica booleana?
Aquí hay una entrada de blog sobre ese tema: http://enterprisecraftsmanship.com/2016/08/25/what-is-domain-logic/ – Vladimir