Live data from Hacker News

DDD Is Overrated

tilkov.com

91–97 of 97 posts

Re: DDD Is Overrated

#91
post #34

"XDD" for all X is overrated, in the sense that the ideas attract adherents who use them as the hammer for all nail-looking things. Yet the best way to present any XDD principles is to ignore the rest of the world and alternative approaches, otherwise you'll get bogged down in all the qualifications and exceptions and lose the central thread of what you're trying to communicate. The article is probably correct that b…

You need to understand the context that birthed DDD. It was a reaction to the model of building business logic into UI event handlers which was pushed hard at the time by the Visual Basic (and java equivalent) crowd in businesses. Originally Fowler documented the domain model in PoEAA, then Evans took the idea and ran with it. I agree that the book hasn't aged well: like the GoF book it's a slog to read. Evans isn't…

I don't think that history is right. Martin was talking about Eric's work and crediting him long before Eric's book came out. I saw Martin give a talk just before PoEAA came out and he was telling people to wait for Eric's book to get the richest take on domain modeling.

DDD was born from Eric's roots in Smalltalk development. When Smalltalk got supplanted by Java there was a strong desire to find ways of building Java systems that could recover at least some of that development style, such as domain modeling, despite the technology being less flexible. At the time it had sort of the feel of 'preserving what we can of civilization after the apocalypse'.

DDD wasn't the only thing that emerged from this. Other Smalltalk programmers became influential programming teachers in the post-Smalltalk world (Fowler, Beck, Cunningham). Eric was probably the last of these to emerge because he spent years working on his book. (It's been years since I've read it but my impression was always that it was unusually well written. It's true that you have to read it as a book to really get it, which is kind of a lot to ask nowadays.)

Re: DDD Is Overrated

#92
Author talks about how DDD is overrated and gives a couple of arguments about nomenclature.

The real issue seems to be in plain sight in the article:

> But I’m annoyed by the fact that recently, it seems that any time somebody talks about how to architect system or service boundaries, or even just mentions non-technical design, everybody feels compelled to bring in the DDD experts

That's the issue, their own experience has been terrible but I don't see any specifics about why domain driven design is terrible. Provide an example. Go through the rigor of your arguments. Show us some code, something concrete, tell us a story about how it was painful to them and what was the impact - whatever is needed to make a strong argument.

The problem with articles like this is people read up on it, make their mind, and now you have a sloth of people converted to "Anti-DDD religion" will become painful to deal with at work because they read up some HN article about how DDD is overrated. It gets stuck in their minds like cereal in an empty milk bowl.

I expect more from the author after saying "There, I said it." Totally ok to be anti-DDD, would love to hear more though.

Re: DDD Is Overrated

#93
post #91

Earlier quoted context omitted.

You need to understand the context that birthed DDD. It was a reaction to the model of building business logic into UI event handlers which was pushed hard at the time by the Visual Basic (and java equivalent) crowd in businesses. Originally Fowler documented the domain model in PoEAA, then Evans took the idea and ran with it. I agree that the book hasn't aged well: like the GoF book it's a slog to read. Evans isn't…

I don't think that history is right. Martin was talking about Eric's work and crediting him long before Eric's book came out. I saw Martin give a talk just before PoEAA came out and he was telling people to wait for Eric's book to get the richest take on domain modeling. DDD was born from Eric's roots in Smalltalk development. When Smalltalk got supplanted by Java there was a strong desire to find ways of building Ja…

Martin's books formalised learnings of others - including those from the Smalltalk community - and PoEAA acts like a good map to the works of information systems.

When I say that "Eric took that idea and ran with it", I mean that Eric went into a lot of detail on the Domain Model (and wrote the definitive book on it). Given the way that Fowler (and Thought Works) work I wouldn't be surprised if Eric was one of the main sources.

Both books had a great impact on me, and they're both on the reading list I give to developers I'm mentoring.

Properly applied DDD is extremely effective, just using Bounded Contexts is extremely valuable (i.e. taking a high level view of your enterprise, putting logical boundaries in place and accepting different abstractions in different contexts).

Re: DDD Is Overrated

#94
post #91

Earlier quoted context omitted.

I don't think that history is right. Martin was talking about Eric's work and crediting him long before Eric's book came out. I saw Martin give a talk just before PoEAA came out and he was telling people to wait for Eric's book to get the richest take on domain modeling. DDD was born from Eric's roots in Smalltalk development. When Smalltalk got supplanted by Java there was a strong desire to find ways of building Ja…

Martin's books formalised learnings of others - including those from the Smalltalk community - and PoEAA acts like a good map to the works of information systems. When I say that "Eric took that idea and ran with it", I mean that Eric went into a lot of detail on the Domain Model (and wrote the definitive book on it). Given the way that Fowler (and Thought Works) work I wouldn't be surprised if Eric was one of the ma…

> just using Bounded Contexts is extremely valuable

Eric would be happy to hear that. I think he felt that the later chapters of the book, on strategic design, got insufficient attention. Ubiquitous language only applies within a bounded context!

Re: DDD Is Overrated

#95
DDD has the same foundation as Agile: Complex problems (domains) require explorative and iterative aproaches (like science always did), complicated or simple domains don't need that.

And if you don't know the problem - then don't start doing anything. If you don't understand yourself well enough and cannot isolate a logical model, than stop, too.

For me, that's both timeless wisdom, and nothing special.

Re: DDD Is Overrated

#96
post #58

Earlier quoted context omitted.

I haven't, is this the one? https://www.amazon.co.uk/Domain-Modeling-Made-Functional-Dom...

That is the one. It's also an introduction to structuring an F# application so it might not be for everyone but it's an easy read. Also I'd recommend getting it from here. https://pragprog.com/titles/swdddf/domain-modeling-made-func... Just because I personally like the pragprog site.

I’ll give it a shot - I’ve done some FP so I’m not put off by F#.

Thanks!

Re: DDD Is Overrated

#97
I’m a bit late to the party on this but the article fundamentally misunderstands DDD. DDD explicitly doesn’t concern itself with implementation details. It doesn’t have an opinion on DB servers, how you should partition data, etc.

DDD is a way of modelling your business logic. Your domain doesn’t care about databases or servers, these are details at the edges of your application.

If your domain does need to care about the details of how it runs on servers and databases, then perhaps DDD is not the right tool for the job.

Post reply on HN