2008-12-11 36 views
38

¿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?

+0

Aquí hay una entrada de blog sobre ese tema: http://enterprisecraftsmanship.com/2016/08/25/what-is-domain-logic/ – Vladimir

Respuesta

28

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.

+0

¿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

+1

, 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

3

Lógica de negocio específica para un campo/área de especialización en particular.

+0

¿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

33

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!

0

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".

3

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).

1

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.

8

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)

+4

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. –

+1

¡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

0
  • 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).
3

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.

Cuestiones relacionadas