12

What does the word domain mean regarding driven design/development?

Not in terms of semantics or a scholarly definition but in terms of how it modifies processes or philosophies?

I was reading a post: https://softwareengineering.stackexchange.com/questions/57828/your-software-problem-solution-approach

I came across this buzzword, DDD, and didn't really know what that meant.

4
  • This is from the linked question : DDD - Domain Driven Design Feb 10, 2012 at 16:24
  • 5
    Did you look up domain driven design in Wikipedia?
    – Caleb
    Feb 10, 2012 at 16:30
  • 2
    From Wikipedia: Domain: A sphere of knowledge, influence, or activity. The subject area to which the user applies a program is the domain of the software. Feb 10, 2012 at 16:34
  • 1
    What part of the wikipedia definition is incomplete or confusing? Please be specific in your question.
    – S.Lott
    Feb 10, 2012 at 16:36

2 Answers 2

10

Domain refers to the specific subject that the project is being developed for. Accounting is a common domain for DDD. The goal of DDD is to limit complexity of a solution by tailoring it as close as possible to the domain with the help of experts in that domain.

2
  • May I ask you a question? You said, "Accounting is a common domain for DDD". Accounting Domain contains Asset, Account Payable, Credit, Payroll, etc. what do domain experts call them? Are they Model, right? Feb 26, 2020 at 3:41
  • @BunthaiDeng Just came across your comment. The term domain experts refers to people who work in accounting; they call these things "Asset, Account Payable, Credit, Payroll, etc.", not Model. A model is not a class or a component. The term model refers to how you think about all these aspects of accounting, and to how you ultimately choose to represent them in code. Your notion of what Accounting contains, how those things interrelate, and how you'll code them up is the model. Two different software dev teams will come up with different models of the same thing. Nov 8, 2021 at 3:46
0

You could also say that DOMAIN is where you code the business logic of your application.

Not the answer you're looking for? Browse other questions tagged or ask your own question.