# Domain Driven Design Quickly # TOC - [X] Preface: Why DDD Quickly? - [X] Introduction - [ ] What is Domain-Driven Design - [ ] Building Domain Knowledge - [ ] The Ubiquitous Language - [ ] The Need for a Common Language - [ ] Creating the Ubiquitous Language - [ ] Model-Driven Design - [ ] The Building Blocks of a Model-Driven Design - [ ] Layered Architecture - [ ] Entities - [ ] Value Objects - [ ] Services - [ ] Modules - [ ] Aggregates - [ ] Factories - [ ] Repositories - [ ] Refactoring Toward Deeper Insight - [ ] Continuous Refactoring - [ ] Bring Key Concepts Into Light - [ ] Preserving Model Integrity - [ ] Bounded Context - [ ] Continuous Integration - [ ] Context Map - [ ] Shared Kernel - [ ] Customer-Supplier - [ ] Conformist - [ ] Anticorruption Layer - [ ] Seperate Ways - [ ] Open Host Service - [ ] Distillation - [ ] DDD Matters Today: An interview with Eric Evans # Preface: Why DDD Quickly? **What is DDD?** - It emphasis business domain instead of technology-specific hype. - Its a way how OOP can be apply on enterprise scale. **Why this book?** - No new concept outside of DDD - A consise summarization of DDD **Interest readers' references for case studies**: - Eric Evans’ DDD - Jimmy Nilsson’s Applying DDD - Architecture Patterns with Python (Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices). - Learning domain-driven design (O'RELLY) # Introduction ## Background: - Software often work on specific domain, or certain aspect of life. - Software should be pratical and useful. - Design of Software is kind of like an art, no absolute path to a good design. ## What is in this book? - Principles and Guidelines of DDD. # 1. What is Domain-Driven Design? REF: https://simonatta.medium.com/domain-driven-design-16763795fadd