4 comments on “When DDD Leads to CRUD

  1. For the simplest scenarios I wouldn’t want to have to use stored procedures at all. I usually rely on them for the most complex queries where you may need to use data for the query but not have that data in the result or to leverage advanced database features like Filestream.

    I would recommend EF with Code First for the simplest CRUD. You could then abstract it out to its own DAL but that might not be necessary.

  2. Sure, but the point–as I start seeing it–is not much in finding the approach that weds elegance with cleanliness and extensibility. It’s just about splitting the architecture into smaller pieces, relate them together, and implement each the best. The best for you and skills and the best for the problem. But if you know how to do it QUICKLY and it doesn’t have to last for too long, do it. Does that mean using SPs? Fine. I’m not saying that using SPs is OK. But if for a short app you find it OK, why not?

  3. Don’t use any canned architecture initially. Go with the simplest possible solution — literally.

    Out of 250 projects, 200 projects will never need any architecture (including the CRUD example). They will be underused/failed systems because that’s life.

    Of the remaining 50, about 40 will need some form of architecture, but not the complexity of DDD/CQRS/ES (or any other flavor-of-the-day architecture) — either basic layering or some custom architecture because reasons.

    Of the remaining 10, 8 would probably work with DDD but will fail at implementing DDD because of incompetence — the average competency level of architects and developers is quite shocking.

    The remaining 2 projects will succeed and be touted as proof that DDD works “all the time on real world projects”! 😉

    Moral of the story: not all that is theoretically doable or makes architecture easy is actually needed, appropriate or feasible for the project, and real world projects will not be solved by a priori approach in practically every case.

    (The number above may or may not be totally out of my hat)

  4. Hi Dino, I really liked your blog and I am waiting your next book Architecting Applications for the Enterprise.

    I wanted to ask you if there is any Rapid Application Development tool that you recommand.

    Thank you

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s