SlideShare a Scribd company logo
1 of 22
Download to read offline
Domain Driven Design
Viernes 21 de Marzo
Innbit
Enfoque tradicional de diseño
De los casos de uso, se presume
que es suficiente para que ...
… los equipos de Desarrollo construyan
un sistema
! PERO NO ES SUFICIENTE !
Al diseñar un sistema, pensarlo en términos del Dominio
del problema a resolver
No diseñar en
términos técnicos o
problemas de TI
Por tanto el concepto de dominio ...
Ayuda a entender el contexto del
problema a ser resuelto por un sistema
de software
Y permite expresar el problema y la
solución en términos de un lenguaje
común a todos los que involucrados.
Model Driven Design
Ubiquitous Language
Bounded Context
Importante definir el contexto en el
cual el dominio aplica
El mapa de contexto es la vista global
de todos los contextos que participan
La consistencia de los contexto se debe
garantizar a través de integración continua
Como cualquier modelo, el meta modelo no es facil de
digerir ...
Manera de guardar información:
Entity, Value Object
Encapsular Complejidad del
modelo:
Aggregate
Procesamiento del
Modelo:
Service
Construcción del
Modelo:
Factory
Instrumentación del
modelo:
Event
Persistencia del modelo:
Repository
Entity
Tienen una identidad que los hace único
An object that is not defined
by its attributes, but rather
by a thread of continuity and
its identity.
Value Object An object that contains
attributes but has no
conceptual identity. They
should be treated as
immutable.
Aggregate A collection of objects that are bound together
by a root entity, otherwise known as an
aggregate root. The aggregate root guarantees
the consistency of changes being made within
the aggregate by forbidding external objects
from holding references to its members.
Encapsula complejidad
Domain Service
When an operation does not
conceptually belong to any object.
Following the natural contours of
the problem, you can implement
these operations in services
● Servicio no tiene estado
● Agnosticos a la infraestructura
de servicios subyacente
Factory
Methods for creating domain
objects should delegate to a
specialized Factory object such
that alternative implementations
may be easily interchanged.
La manera para construir y ensamblar los
bloques del dominio
Repository
Methods for retrieving domain
objects should delegate to a
specialized Repository object such
that alternative storage
implementations may be easily
interchanged.
● El concepto de repositorio es que el lenguaje del
dominio sea agnóstico al esquema de
almacenamiento y la implantación del repositorio
sea facilmente intercambiable
● Soportar esquemas de RDBMS, NoSQL,
InMemory Database, entre otros
Architecture
Application
● Una aplicación es cliente del modelo del dominio.
● La aplicación se especifica con los casos de uso
● Une la presentación, comunicación e infraestructura
El mapa
completo ...
Command & Query Responsibility Segregation - Diferente modelo
para consultar que para modificar -
Un ejemplo de uso de DDD
http://www.opentaps.org/docs/index.
php/Domain_Driven_Architecture
xDD
! Gracias !

More Related Content

Viewers also liked

Teaching Data Visualization Through Coffee Prices
Teaching Data Visualization Through Coffee PricesTeaching Data Visualization Through Coffee Prices
Teaching Data Visualization Through Coffee Prices
Jake Batsell
 
Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...
Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...
Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...
Norbert Knoll von Dornhoff
 
15. интернет вещание нтв плюс
15. интернет вещание нтв плюс15. интернет вещание нтв плюс
15. интернет вещание нтв плюс
Aleksey Naumkin
 
Learning about geometry by joe gaymore
Learning about geometry by joe gaymoreLearning about geometry by joe gaymore
Learning about geometry by joe gaymore
Joe Gaymore
 
Eric Leifermann visual resume
Eric Leifermann visual resumeEric Leifermann visual resume
Eric Leifermann visual resume
Eric_Leifermann
 

Viewers also liked (20)

APIs and SDKs: Breaking into and Succeeding in a Specialty Market
APIs and SDKs: Breaking into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking into and Succeeding in a Specialty Market
APIs and SDKs: Breaking into and Succeeding in a Specialty Market
 
Jaringan 6023487
Jaringan 6023487Jaringan 6023487
Jaringan 6023487
 
Teaching Data Visualization Through Coffee Prices
Teaching Data Visualization Through Coffee PricesTeaching Data Visualization Through Coffee Prices
Teaching Data Visualization Through Coffee Prices
 
Personas: Designing Engaging Content for Customer Intimacy
Personas: Designing Engaging Content for Customer IntimacyPersonas: Designing Engaging Content for Customer Intimacy
Personas: Designing Engaging Content for Customer Intimacy
 
Engaged Journalism: Connecting With News Audiences
Engaged Journalism: Connecting With News AudiencesEngaged Journalism: Connecting With News Audiences
Engaged Journalism: Connecting With News Audiences
 
Frase maleïda
Frase maleïdaFrase maleïda
Frase maleïda
 
2016 Conduit Program
2016 Conduit Program2016 Conduit Program
2016 Conduit Program
 
נטיקה הדס מטס 201011
נטיקה הדס מטס 201011נטיקה הדס מטס 201011
נטיקה הדס מטס 201011
 
Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...
Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...
Completing the puzzle: Development of SMEs and Crafts with WUSME and IUE Univ...
 
What Writers Don’t Know About Translation Can Be Costly
What Writers Don’t Know About Translation Can Be CostlyWhat Writers Don’t Know About Translation Can Be Costly
What Writers Don’t Know About Translation Can Be Costly
 
Wireless Video Architecture projects
Wireless Video Architecture projectsWireless Video Architecture projects
Wireless Video Architecture projects
 
Understanding Public Transport Networks using Free and Open Source Software
Understanding Public Transport Networks using Free and Open Source SoftwareUnderstanding Public Transport Networks using Free and Open Source Software
Understanding Public Transport Networks using Free and Open Source Software
 
LACCE
LACCELACCE
LACCE
 
15. интернет вещание нтв плюс
15. интернет вещание нтв плюс15. интернет вещание нтв плюс
15. интернет вещание нтв плюс
 
Imas empaques
Imas empaquesImas empaques
Imas empaques
 
Learning about geometry by joe gaymore
Learning about geometry by joe gaymoreLearning about geometry by joe gaymore
Learning about geometry by joe gaymore
 
In what ways does your media product use question 1
In what ways does your media product use question 1In what ways does your media product use question 1
In what ways does your media product use question 1
 
Good Life Template
Good  Life  TemplateGood  Life  Template
Good Life Template
 
Eric Leifermann visual resume
Eric Leifermann visual resumeEric Leifermann visual resume
Eric Leifermann visual resume
 
Trabajo investigación udh 2015
Trabajo investigación udh 2015Trabajo investigación udh 2015
Trabajo investigación udh 2015
 

Similar to Domain driven design

Capitulo xiv expectativasparaunambientededesarrollo
Capitulo xiv expectativasparaunambientededesarrolloCapitulo xiv expectativasparaunambientededesarrollo
Capitulo xiv expectativasparaunambientededesarrollo
arpamanpadopo
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
mi casa
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
CAMILO
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
CAMILO
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
CAMILO
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
CAMILO
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
CAMILO
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
CAMILO
 

Similar to Domain driven design (20)

Ddd + ah + microservicios
Ddd + ah + microserviciosDdd + ah + microservicios
Ddd + ah + microservicios
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Introducción a DDD
Introducción a DDDIntroducción a DDD
Introducción a DDD
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
 
Clase 09a frameworks
Clase 09a frameworksClase 09a frameworks
Clase 09a frameworks
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
Capitulo xiv expectativasparaunambientededesarrollo
Capitulo xiv expectativasparaunambientededesarrolloCapitulo xiv expectativasparaunambientededesarrollo
Capitulo xiv expectativasparaunambientededesarrollo
 
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptxM.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
 
Domain driven desing
Domain driven desingDomain driven desing
Domain driven desing
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 

Recently uploaded

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Recently uploaded (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Domain driven design

  • 1. Domain Driven Design Viernes 21 de Marzo Innbit
  • 2. Enfoque tradicional de diseño De los casos de uso, se presume que es suficiente para que ... … los equipos de Desarrollo construyan un sistema ! PERO NO ES SUFICIENTE !
  • 3. Al diseñar un sistema, pensarlo en términos del Dominio del problema a resolver No diseñar en términos técnicos o problemas de TI
  • 4. Por tanto el concepto de dominio ... Ayuda a entender el contexto del problema a ser resuelto por un sistema de software Y permite expresar el problema y la solución en términos de un lenguaje común a todos los que involucrados.
  • 7. Bounded Context Importante definir el contexto en el cual el dominio aplica El mapa de contexto es la vista global de todos los contextos que participan La consistencia de los contexto se debe garantizar a través de integración continua
  • 8. Como cualquier modelo, el meta modelo no es facil de digerir ... Manera de guardar información: Entity, Value Object Encapsular Complejidad del modelo: Aggregate Procesamiento del Modelo: Service Construcción del Modelo: Factory Instrumentación del modelo: Event Persistencia del modelo: Repository
  • 9. Entity Tienen una identidad que los hace único An object that is not defined by its attributes, but rather by a thread of continuity and its identity.
  • 10. Value Object An object that contains attributes but has no conceptual identity. They should be treated as immutable.
  • 11. Aggregate A collection of objects that are bound together by a root entity, otherwise known as an aggregate root. The aggregate root guarantees the consistency of changes being made within the aggregate by forbidding external objects from holding references to its members. Encapsula complejidad
  • 12. Domain Service When an operation does not conceptually belong to any object. Following the natural contours of the problem, you can implement these operations in services ● Servicio no tiene estado ● Agnosticos a la infraestructura de servicios subyacente
  • 13. Factory Methods for creating domain objects should delegate to a specialized Factory object such that alternative implementations may be easily interchanged. La manera para construir y ensamblar los bloques del dominio
  • 14. Repository Methods for retrieving domain objects should delegate to a specialized Repository object such that alternative storage implementations may be easily interchanged. ● El concepto de repositorio es que el lenguaje del dominio sea agnóstico al esquema de almacenamiento y la implantación del repositorio sea facilmente intercambiable ● Soportar esquemas de RDBMS, NoSQL, InMemory Database, entre otros
  • 16. Application ● Una aplicación es cliente del modelo del dominio. ● La aplicación se especifica con los casos de uso ● Une la presentación, comunicación e infraestructura
  • 18.
  • 19. Command & Query Responsibility Segregation - Diferente modelo para consultar que para modificar -
  • 20. Un ejemplo de uso de DDD http://www.opentaps.org/docs/index. php/Domain_Driven_Architecture
  • 21. xDD