Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hexagonal Rails

Hexagonal Rails

In the early days of a project, Rails absolutely dazzles.

Tragically, the very same forces that make it so easy to add new features to a brand new Rails application are the ones that start to hold you back as the number of features grows.

Your test suite gets slower and slower, and refactoring becomes more and more of a chore. Everything seems coupled together, and it's hard to see much of a structure other than the MVC triad.

In this talk, Matt explains why this happens, and shows you a way out, using a ports-and-adapters or hexagonal architecture to introduce a separation between your application's domain logic, and the Rails framework.

This talk is suitable for advanced Rubyists who want to enjoy the benefits of Ruby's great Object-Oriented and functional programming features in their Rails applications.


June 23, 2012

More Decks by mattwynne

Other Decks in Programming


  1. Your domain model is not in your classes, it's in

    the communication patterns between the objects at runtime. — Steve Freeman & Nat Price
  2. Procedural code gets information then makes decisions. Object-oriented code tells

    objects to do things. — Alec Sharp, Smalltalk by Example Tell, don't ask