Keynote: Architecture the Lost Years by Robert Martin @ Ruby Midwest 2011
(also on YouTube … and a few weeks later, without slides , on The “A” word. A Discussion About Architecture in a Software Craftsmanship conference )
Images clipped together from…
- The “Presenter” and “View Model” at 35:28
- “The whole Enchilada!” at 37:50
- “The Database is a Detail!” at 42:26
Elements summary:
Entities — Generic application agnostic data and business rules (e.g. Order, Customer ).
Interactors — Application specific business rules; Manipulates the relevant data from the Request Model and interacts with the Entities.
Boundaries / Gateways — Protocols or Interfaces.
Models — Dumb data structures, without methods.
- Request Model
- Response Model
- View Model
Controllers — Convert the stuff submitted by the delivery mechanism into a delivery agnostic Request Model.
Presenters — Turns the delivery agnostic Response Model into a prepared “viewbified” data structure ready for easy manipulation by the view.
- "… so the view is so stupid that you don’t have to test it!"
See also Where’s Your Business Logic?