Table of Contents

1. Foreword

  • Software development is complex
    • the heart of this complexity is in the essential intricacy of the problem domain itself
    • to control complexity, create a domain model
      • it must go beyond the surface vision
        • but introduce underlying structure
      • it never explained what a model is
      • the greatest value of a domain model is providing an ubiquitous language that ties domain experts and technologists together
      • a good domain model evolves as the implementation evolves

2. Preface

  • intent of the book
    • provide
      • a framework for making design decisions
      • technical vocabulary for discussing domain design
  • there are things that can put a project off
    • bureaucracy
    • lack of clarity
    • lack of resources
  • but the approach to design can limit how complex software can become
  • interesting that so far no technology merit was discussed. I think also the tools used — e.g. type systems, static or dynamic — play a role in how complex a software project can become
    • in fact, they are mentioned in the sentence after this one :)
    • the most significant complexity of many applications is not technical
  • premise of the book
    • for most software projects, the primary focus should be on the domain and domain logic
    • complex domain designs should be based on a model

Author: Stefano Rodighiero

Created: 2024-06-10 Mon 20:25

Validate