--- title: "domain-driven-design" aliases: DDD tags: - info201 --- >A method of designing software by designing models of the domain and creating software which conforms to those models Ubiquitous language -> The language a team agrees on to describe ideas in the problem domain - This laguage becomes more and more refined as it is used - This reduces misunderstandings Diagram: ```mermaid flowchart LR subgraph Tactical Design Tools subgraph Service direction TB B(Project) C(Layers) D(Modules) E(Design Patters) F(OOP) G(Classes) H(Objects) I(Exe, jar, zip) end end ``` ``` mermaid flowchart LR subgraph Strategic Design Tools direction LR Domain-->Sub-Domain1-->Service1 Domain-->Sub-Domain2-->Service2 Domain-->Sub-Domain3-->Service3 end ```