Domain Driven Design (DDD) is a method of designing software as a precise, transparent, and transformable representation of a professional domain, as presented to participants in this module.
*Agenda
-Domain, model and ubiquitous language (module, entity, value object, aggregate, service, domain event, factory, repository)
-The way to the model (strengthening of the domain experts, forms of collaboration for model elicitation)
-From model to implementation (relationship between model and code, technical classes, technically motivated building blocks, language and code quality)
-The model in the application architecture (Hexagonal Architecture, Command-Query Responsibility Segregation, Layered Architecture)
-Cut and delimit models from one another (bounded context, context map, shared kernel, domain event)
-Maintain local model consistency (anti-corruption layer, continuous integration, separate ways)