Architecture: The Lost Years, by Robert Martin

I watched a keynote from Robert Martin during the Ruby Midwest 2011 conference. It’s always fun to watch veterans from the field.

Here are some thoughts:

Decoupling

  • the whole talk is about decoupling
  • the web is just a “delivery mechanism”
  • Ivar Jacobson’s use case driven approach:
    • make the intent of your system obvious
    • architecture: boundary, interactor (app-specific), entity (app-agnostic)
  •  we should keep in mind that:
    • the delivery mechanism (e.g. the web) is “just a detail”
    • the database is “just a detail”

Architecture

  • the art of architecture is how to draw lines
  • architecture is about:
    • drawing lines
    • when you have a line crossing another, it’s a dependency
    • making sure all dependency lines goes into the same direction (when crossing a line)
    • once you have that you have a gem/plugin
  • a good architecture allows major decisions to be deferred
  • if the first thing you type is rails “new_app”, you’ve lost it. Rather, you must think about your entities, interactors and boundaries
  • a good architecture maximizes the number of decisions NOT made
  • in software engineering, at the end of the 80’s, we were on the verge to understand that software architecture needed a use case-driven approach. But then the web got us away from it. And now we seem to be in the process of remembering it.
Advertisements

Got a comment?

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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: