Graduate Program KB

Domain Driven Design

Chapter 3 - Binding Model and Implementation

  • A model is only valuable if it directly aids the development process
  • In some cases, models that look good may not translate effectively into implementation
  • It's emphasised that the model should maintain a strong connection with the code through its lifecycle
  • An increasingly complex model may struggle with misalignment with the design or become decoupled from the implementation

Modelling Paradigms and Tool Support

  • Useful languages for model driven design such as OO languages rather than procedural
  • Model driven design scales easily and accommodates testing
  • A design takes several iterations of refactoring and knowledge crunching to distill the concepts into a simple and concise model

Letting the Bones Show: Why Models Matter to Users

  • Need to create UI matching the domain modle, causes less confusion
  • Revealing the model to the user has more potential for the software to yield predictable behaviour

Hands on Modellers

  • Separation of roles in development often leads to problems between the model and software as there's no collaboration
  • Better for developers to do modelling work so they understand the constraints
  • Using model driven design connects the model and implementation with ubiquitous language to constantly flow information between developers and domain experts