Graduate Program KB

Domain Driven Design

Putting the Domain Model to Work

  • A domain model is an organised representation of knowledge with concepts and rules

Utility of a Model

  • Three basic rules to determine the type of model:
    • The model and the heart of a design shape eachother
    • The model is a backbone of a language used by all team members
    • The model is distilled knowledge

The Heart of the Software

  • The goal is to solve problems for users, features support this idea
  • Increased complexity of the domain requires a skilled team that knows their way around the system

Chapter 1 - Crunching Knowledge

  • Models are designed through discussions about various parts of a system and inspire the written code that follows
  • Designing the domain model through understanding and iteration challenges consulting skills and enables communication of ideas effectively

Ingredients of Effective Modelling

  • Binding the model and the implementation
  • Cultivating a language based on the model
  • Developing a knowledge-rich model
  • Distilling the model
  • Brainstorming and experimenting

Knowledge Crunching

  • Good domain modellers filter out irrelevant information and present ideas simply and effectively
  • A successful model is iterated upon many times, taking in information from users and clients to refine the prototypes through feedback

Continuously Learning

  • The required knowledge to carry out a task can be unevenly distributed between members and documentation, making the coding process difficult
  • A reshuffle in organisation or members leaving results in scattered knowledge
  • A productive team will continuously learn and improve their technical skills and domain modelling skills