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