write cleaner code with DDD
Abstract
- ddd presentation
- tool to implement ddd: hexagonal architecture
- ubiquitous language
- getters / setters are not quite useful as they don’t convey what you really want
- supple design: loosely coupled, highly cohesive and able to change
- coupling & cohesion == tie together vs stick together
- cohesion: single responsibility principle & separation of concerns
- side effect free functions
- bounded context
- ubiquitous language is unique per bounded context
- DRY vs coupling across bounded contexts
- DRY very important inside bounded contexts
- reduce coupling more important across bounded context
- autonomy → able to evolve alone
- decreased cognitive load → only have to think about own bounded context
- especially when bounded context = team