Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just finished watching this presentation by Uncle Bob (as well as his "Architecture" section of his "Clean Code" videos), but I'm left wondering:

Are there any examples out there of applications that implement this Entity-Boundary-Interactor (or Entity-Boundary-Controller) structure?

At one point I downloaded the source code to FitNesse (the acceptance testing project he mentions often as an example of not only high test coverage but good architecture, since they were able to defer the decision to not use a database until the very end), and based on a quick glance of it it appears even this project doesn't seem to fit this pattern.

Are there any nontrivial examples of this architecture out in the wild, or should I not bother even looking into it and chalk it up as "it would be great if you could get there, but nobody really does"?


migration rejected from Feb 28 '14 at 11:44

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by Martijn Pieters, maple_shaft Feb 28 '14 at 11:44

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Martijn Pieters, maple_shaft
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 33 down vote accepted

There's the payroll example in my book: "Agile Software Development: Principles, Patterns, and Practices". It follows the architecture pretty closely, though some of the nomenclature is a bit different.

The inconsistency between the book and the screencast is that in the book, there is a reference to a global database class. I thought the app shouldn't know about the delivery mechanisms by name? Am I missing something? – Kenrick Chien Jan 22 '14 at 22:39

I was asking myself the same question afer watching the presentation a few weeks ago, and the only example I managed to find on the net was that Github repo in Ruby.

Like you said, it struck me that none of Uncle Bob's previously published code bases (whether as additional resources to his books, from his videos, articles or open source work) seem to implement that architecture. Especially when you want to dive into the implementation details of interactors and boundaries, there's very little information available - the only bits I could find are a few messages in the Clean Coders group.

I ended up taking the whole thing as good inspiration for what an architecture should ideally be rather than a strict guideline or gospel truth, and started building my own architecture to try it out, sometimes filling the gaps with my personal interpretation of things.


I've not watched the video that you've linked, but I think I saw the same presentation a couple of months ago. Although the terminology is different, I believe the various components map pretty much precisely to the components you'd find in a typical CQRS architected DDD application. Certainly what Bob described in the presentation I saw matched the main project I work on.


Not the answer you're looking for? Browse other questions tagged or ask your own question.