8. Model Driven Design
● Is important to divide the application domain
● The application construction must explain
about the domain
9. Entities
● Everything that needs an identity
● Needs to be uniquely referenced
● Examples: Order, Product, Route, etc.
10. Value Objects
● Elements that dont need an identity
● Fast life-cicle
● Can be constant
● Example: Delivery address, Credit card
number, Font type, etc.
11. Agregates
● Encapsulate Entities and Value Objects from a
comnon subject, to give easy acess to useful
data
Entity Value Object
Value Object Entity
Agregate
12. Factories
● Used to construct some elements when it is
complex.
● Used in Agregates and Vaue objects
● Encapsulate the contruction process
13. Services
● Is an operation that is not part of any Entity or
Value Object
● Stateless
● Follow the Ubiquitous Language
14. Modules
● Are like chapters from a story
● Are about model, not about code
15. Repositories
● Used to store/retieve Entities and Agregates
● Is centralized
16. Global vision
Ubiquitous Language Model Driven Design
Services Modules
Value Objects Entities
Factory
Agregate Repository