DDD - what's wrong with CRUD

Click for: original source

Golo Roden extensive article about Domain Driven Design and limitations of CRUD. CRUD is simple but limited: the artificial restriction to four verbs and the destructive actions UPDATE and DELETE cause numerous problems. Typically, you will realize these problems early on, even in small applications.

Author builds his case around simple MVC application. All in all, the application is so trivial that it’s hard to not think about implementing it using CRUD: a list where you can add, change and delete entries - why should you solve this any differently?

A closer look, however, reveals a number of questions which at least create doubt that the application is really as trivial as it seemed at first glance.

Author then goes on and writes about:

  • What’s the intention of each action in CRUD
  • Domain language vs technical language
  • CRUD loses history - and what it means
  • What’s wrong with CRUD?

This is the first part in series of articles. Recommended.

[Read More]

Tags programming tdd software-architecture