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

Windy City Rails 2013: Rails vs. Object Oriented Design

Noel Rappin
September 13, 2013

Windy City Rails 2013: Rails vs. Object Oriented Design

Over the past year or two, there’s been a lot of conversation in the Rails community about the applicability of Object-Oriented techniques to Rails applications. This conversation becomes especially important as the Rails community is increasingly managing long-lived applications.

Techniques and phrases like “DCI”, or “Rails is not your application”, or “Composition is better than inheritance” or “Dependency Injection” get thrown around. All these techniques sound impressive, but if you look to Rails for simplicity, then they may seem like overkill. In part, the techniques are about what kind of design is best suited to planning for unknowable future change.

This talk will show how these techniques can be applied in Rails, and how they can help you prepare for the future without making the present complicated.

Noel Rappin

September 13, 2013
Tweet

More Decks by Noel Rappin

Other Decks in Programming

Transcript

  1. http://www.tablexi.com http://www.noelrappin.com/mstwjs http://www.noelrappin.com/trdd def publish(time = Time.now) update_attribute :published_at, time

    end This parameter is an essential part of a complex system. This parameter is the beginning of an over- architected system
  2. http://www.tablexi.com http://www.noelrappin.com/mstwjs http://www.noelrappin.com/trdd YES Structure Needed No Structure Not Needed

    YES Structure Added NO Structure Not Added YAY! Savings Wasted cost Wasted Cost No Impact
  3. http://www.tablexi.com http://www.noelrappin.com/mstwjs http://www.noelrappin.com/trdd def publish(time = Time.now) update_attribute :published_at, time

    end The cost of this parameter is so low, I can afford to put it in. Right now, the savings I see for adding this are zero.