studio reales proyectos programacion libro introducción incluye herramientas fundamentos fuente español código con avanzado aplicaciones java domain-model

reales - ¿Qué es el modelo de dominio Java?



libro de android studio en español pdf (5)

La respuesta de Michael Borgwardt " Un modelo de dominio (el término no es en absoluto específico de Java) es una clase " es incorrecto. Estoy muy sorprendido de que muchos estén de acuerdo con esa respuesta.

Un modelo de dominio es todas las clases que modelan el comportamiento de la solución. Es lo mínimo necesario para lograr el comportamiento requerido. El modelo de dominio está libre de UI y funcionalidad de persistencia (a menos que el problema se relacione con la UI o la persistencia).

He visto el modelo de dominio implementado en una clase, pero ese no es el diseño de una solución orientada a objetos. En un modelo de dominio orientado a objetos, cada concepto tiene su propia clase que implementa el comportamiento requerido de ese concepto y contiene los campos necesarios para mantener el estado de la clase.

Estoy estudiando un libro de primavera y mencionan el modelo de dominio Java. ¿Que es eso?


Sé que ha pasado mucho tiempo desde la última publicación aquí. Pero es importante que la información en torno a este concepto sea clara. Un modelo de dominio es a menudo un conjunto de clases que representan un dominio de problema particular. El concepto no está vinculado a ningún tipo de implementación de tecnología. Creo que es un poco engañoso decir:

" Las instancias de modelo de dominio a menudo necesitan ser persistidas en una base de datos, y en Java, por lo general se ajustan a la especificación de Java Beans, es decir, tienen métodos de obtención y configuración para representar propiedades individuales y un constructor sin parámetros. Spring y otros marcos le permiten para acceder a estas propiedades directamente en sus JSPs "

Los modelos de dominio son a menudo el resultado de un diseño controlado por dominio. El diseño impulsado por el dominio es la clave para un modelo de dominio bueno y robusto. Sugiero que leas el libro Diseño dirigido por dominios de Eric Evans para que puedas comprenderlo mejor.

Las clases de modelo de dominio tienen información asociada a ellas, pero en mi opinión, el comportamiento es más importante que los datos en este contexto. Un gran error en torno al diseño impulsado por el dominio es crear clases de datos que representan los datos de una entidad de dominio, como el cliente y que solo proporcionan captadores y definidores públicos para los atributos del cliente. Estos objetos tienden a imitar la estructura de su base de datos y, como resultado, es más probable que la lógica de negocios real resida en los servicios de dominio, lo que resulta en un modelo de dominio anémico . Este modelo está más cerca de un script de transacción que de un modelo de dominio.


Un modelo de dominio es un modelo conceptual del dominio del problema. Por "modelo de dominio java" solo significan las clases java que representan ese modelo. No hay nada específico para Java en el concepto.

Vea también Diseño impulsado por dominios para un enfoque para enfocar su desarrollo en las necesidades del dominio de negocios.


Un modelo de dominio (el término no es en absoluto específico de Java) es una clase que modela algo en el dominio del problema, a diferencia de una clase que existe por razones de implementación técnica.

Las instancias de modelos de dominio a menudo deben persistir en una base de datos, y en Java, por lo general se ajustan a la especificación de los Beans de Java, es decir, tienen métodos de obtención y configuración para representar propiedades individuales y un constructor sin parámetros. Spring y otros marcos le permiten acceder a estas propiedades directamente en sus JSP.

Por ejemplo, en una aplicación de tienda, algunas de sus clases de modelo de dominio serían Producto, Pedido, Carrito de compras y Cliente.


Vamos a empezar con un ejemplo. Usted está creando una aplicación que será utilizada por algunas personas en su localidad. Cuando diseñas el sistema, llamas a estas personas usuarios de tu sistema. También debe administrar una lista de roles para estas personas en el sistema e información de autenticación. Por lo tanto, decides crear una entidad conceptual en el sistema. Esta entidad conceptual se asigna además a un objeto Usuario en su solución de software (su aplicación). Ahora, cuando representa su aplicación, describe ese objeto de usuario como un modelo de dominio. La idea básica detrás de este término es que solo. Puedes leer más sobre esto en el siguiente enlace de Wikipedia .