What is Domain Driven Design?

后端 未结 8 1237
情深已故
情深已故 2021-01-29 18:26

Can somebody please explain (in succinct terms) what exactly is domain driven design? I see the term quite a lot but really don\'t understand what it is or what it looks like. H

8条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-29 18:49

    As in TDD & BDD you/ team focus the most on test and behavior of the system than code implementation.

    Similar way when system analyst, product owner, development team and ofcourse the code - entities/ classes, variables, functions, user interfaces processes communicate using the same language, its called Domain Driven Design

    DDD is a thought process. When modeling a design of software you need to keep business domain/process in the center of attention rather than data structures, data flows, technology, internal and external dependencies.

    There are many approaches to model systerm using DDD

    • event sourcing (using events as a single source of truth)
    • relational databases
    • graph databases
    • using functional languages

    Domain object:

    In very naive words, an object which

    • has name based on business process/flow
    • has complete control on its internal state i.e exposes methods to manipulate state.
    • always fulfill all business invariants/business rules in context of its use.
    • follows single responsibility principle

提交回复
热议问题