fbpx

Diseño guiado por el dominio

Diseño guiado por el dominio

Simple Receipt application Domain Model

La programación orientada a objetos es una herramienta muy potente debido a que se basa en un paradigma de modelado y provee una implementación de las construcciones del modelo. Java y otras herramientas permiten crear objetos y relaciones directamente análogas al modelo conceptual de objetos.

El diseño guiado por el dominio es un enfoque para el desarrollo de software con necesidades complejas mediante la conexión de la implementación con un modelo en evolución de los conceptos clave del negocio. 1

Un buen modelo del dominio captura las abstracciones y las informaciones essenciales necessarias para entender el dominio en el contexto de los requisitos actuales y ayuda a la gente a entender el dominio - sus conceptos, terminologia y relaciones-.

El diseño guiado u orientado por el dominio (DDD) no es exactamente una tecnología, sino una guía de prácticas y terminologías para organizar las aplicaciones y estructurar el código. DDD se basa abstraer y "naturalizar" la forma en que se interactúa con el sistema.

Este término fue acuñado por Eric Evans, en el libro "Domain Driven Design ".2

Esta enfoque complementa muy bien la arquitectura MVC, especialmente en la capa del modelo.

Domain Model for a recipe application


Terminología utilizada en el diseño guiado por el dominio:


Entidad : un objeto definido principalmente por un hilo de continuidad e identidad 2 . El concepto de identidad adoptado por DDD va más allá de las operaciones de los lenguajes orientados a objetos, ya que proporcionan una "identidad" a cada objeto. (por ejemplo, el operador == en java).

El concepto de identidad, desde el punto de vista del DDD, es un atributo más metafísico, que emerge del modelo y toma significado a través del dominio. Es este concepto el que guía el diseño de la operación de identidad entre objetos del dominio. Por ejemplo, el muchas aplicaciones, el atributo "email" se utiliza como identificador de dos instancias de objeto de tipo Usuario, ya que dos usuarios no pueden tener el mismo email.


Value Object: un objeto que no tiene identidad. Por lo general, estos objetos son inmutables.

Repository: Objects used to store, retrieve, and remove domain objects from multiple implementations storage.

Service: Type of object that performs operations that do not belong conceptually to a particular object.

Aggregate: Cluster of domain objects that can be treated as a single unit.

Factory: The type of object used to create complex Aggregates.

Consulte nuestros servicios de Ingeniería de Software:
https://jordimarti.tech/es/ingenieria-del-software/.

Contact us for further information
here.
or via Whatsapp

  1. Domain Language, Inc. and contributors, 2007 []
  2. Domain Driven Design, Evans, 2004 [] []
Written by :

Jordi Marti

Telecomunications Engineer graduated in ETSETB Barcelona. Currently located in Girona ( a small city located 80 km in the north of Barcelona). When I was young I started a small internet company called Alquilerjoven.com. After that I worked as full stack engineer, team leader and project manager in the best consultant IT companies in the world. I’m passionate about my job and I’m very good at it. My strongest skill is implication: I am fully involved in all the projects I participate. I am inquisitive person and I enjoy acquiring new knowledge, a key skill in this business. From the beginning of my career I felt comfortable with technology, innovating and designing new strategies and processes in order to boost efficiency , productivity by the use of continuous improvement.

Ver todas las entradas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESSpanish