Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.
Evaluating Domain-Driven Design
Transcript of Evaluating Domain-Driven Design
for Refactoring Existing Information Systems
Final Master Thesis Presentation at Ulm University
Institute of Database and Information Systems
Hayato Hess | May 18, 2016
Evaluating DDD for Refactoring Existing Information Systems | May 05, 2016
Herbert Hayato Hess
Computer Science Student at Ulm University
Submitted Master Thesis
Dr. Jan Scheible
Master Thesis Advisor
Spin-Off of TRANSPOREON (Logistic software company)
Located in Ulm and Kraków
Main Product: Time Slot Management System
< 2009 TP Frok
2011-2015 C# to JAVA
Long Time Maintenance
Language shared by all involved parties
Improves communication and prevents misunderstandings
Ubiquitous Language Boundary
Code, Database, Team Distribution Boundary
Defined by its attributes
When an attribute is changed, a new value object is instantiated
Defined by its identity
Unique beyond the life cycle of the system
One root entity
Multiple value objects
Domain-Driven Design was not designed for architectural refactoring
How to derive entities, value objects, aggregates, object methods and services?
Solution: Model Transformations
Thank You For Your Attention!
Artifact - Model Transformation:
Provide access to aggregates
Wraps data sources such as databases
Implementation can be replaced for testing
Long time maintenance
Add new features
Improve existing features
Organize related concepts and tasks
Bubble Context for the Liveyard View
Communication With The Legacy System by utilizing Ports and Adapters
> Source Model
Model - Artifact Transformations:
Final Model > Visualizations
Model - Model Transformations:
Source Model > Final Model
Time Slot Management System
Offer operations supported by the bounded context
Can access repositories
Controls the transactions & safety
In charge of event based messaging
Contains domain knowledge
Encapsulates business logic that doesn't naturally fit within a domain object
DDD based System
Source: Martin Fowler.
Patterns of enterprise application architecture.
Excerpt of a Transformation Rule (TR):