Thursday, 25 November 2021

Domain driven design notes - [1] Crunching knowledge

  • Crunching knowledge
    • Ingredients of effective modelling
      1. Binding the model to the implementation
      2. Cultivating a language based on the model
      3. Developing a knowledge rich model
      4. Distilling the model
      5. Brainstorming and experimentation
    • It is the creativity of brainstorming and massive experimentation, leveraged through a model based language and disciplined by the feedback loop through implementation, that makes it possible to find a knowledge rich model and distill it. << That was mouthful :D
    • Knowledge crunching
      • Effective domain modellers are knowledge crunchers
      • Many models are tried and rejected or transformed
      • A team of domain experts collaborate, typically led by developers
      • lots and lots of talk
      • Good programmers will naturally start to abstract and develop a model that can do more work
      • The shallowness of knowledge produces software that does basic job but lacks a deep connection to the domain experts way of thinking
      • The abstractions are true business principles
    • Continuous learning
      • Domains that seem less technically daunting can be deceiving, we don't realize how much we don't know !
    • Knowledge rich design
      • Business activities and rules are as central to a domain as are the entities involved
      • Knowledge crunching yields models that reflect this kind of insight
    • Deep models
      • As we come to understand the domain, we usually discard superficial model elements
      • Subtle abstractions emerge that pierce into the heart of the matter
      • Models of utility call for sophistication both in the domain and in the modelling technique
      • Knowledge crunching is an exploration and you cant know where you will end up

No comments:

Post a Comment