Domain Driven Design - keshavbaweja-git/guides GitHub Wiki

Why software?

  • Solve real world problems
  • Automate business processes

Domain of software system

  • Real world problem being addressed
  • Business process being automated

Software should fit in harmoniously with the real world domain to avoid reliability and maintainance issues. Software should incorporate core concepts and elements of the domain and precisely realise relationships between them.

Model is

  • an abstraction of the domain. Not all aspects of the domain are relevant for solving the business problem at hand.
  • an essential part of software design.
  • is a rigorously organized and selective abstraction of a domain.

How can a model be expressed and shared

  • Diagrams, use cases
  • Written text
  • Ubiquitous language