One general reaction that I see on a lot of questions asked here and in other forums is: “You don’t need to do DDD for this. This is a simple CRUD application, DDD is over designing.”
Well, I'm new to DDD, and I feel that there are many elements in DDD that have universal appeal and can be used everywhere, regardless of whether your application is complex enuf for the DDD mandate. For example, application bundle, various artifacts that DDD recognizes, etc. It can start with the basics and admittedly anemic models, and then work / reorganize to as much purity as you can get.
Is this approach good? Or will you say that there is a fundamental choice in the design of each application in terms of whether to go in the DDD way or not, something like choosing "all or nothing"?
UPDATE (to provide more context, in response to hugh comment below)
I create a webapp around an existing RuleEngine application, mainly CRUD and some validations, invariants, and then the deployment process. Validation and semantic validation is done using a separate piece of code, which I call part of CRUD, and none of this semantic specific logic exists in my code. I am trying to use DDD for this application, but I see that it may not be complicated enough to fit into the DDD paradigm. There is no ubiquitous language in the domain, so the language is not specialized enough to name a set of entities involved. I hear my domain expert talking about creating, editing, deleting objects.
redzedi
source share