A simple robustness diagram explains Model-View-Controller (MVC)

If you’ve never read the book Use Case Driven Object Modeling with UML by Doug Rosenberg and Kendall Scott, you’re missing one of the most simple and important Model-View-Controller (MVC) diagrams in the software business.

In their discussion of Robustness Diagrams they introduce a figure called “Robustness Diagram Rules” that succintly tells you how to implement an MVC design in your code. In one figure they tell you:

  • Actors (users) talk only to boundary objects.
  • Boundary objects (view) talk only to controllers and actors.
  • Controllers can talk to each other.
  • Controllers can also talk to entity (model) objects.

That's half the diagram. The other half tells you what can't happen, such as “Actors can’t talk to controllers or entity objects.”

This is a wonderful and simple diagram that immediately hits home for both new and seasoned developers. Kudos to these authors for hitting a home run with this robustness diagram concept.

Update: I posted copies of their images at this URL.