Writing Modular Applications

Location: Pavilion 2 - 3 Level:
Average rating: ****.
(4.18, 60 ratings)

Many words of programming wisdom have been written to promote the idea of low coupling between modules. “Prefer delegation over inheritance”, “The Law of Demeter” are examples of these words of advice. But why does delegation introduce less coupling then inheritance. And how does the law of Demeter reduce coupling. To understand these issues, we will look at the concept of “connascence” how it applies to creating modular Ruby programs.

Photo of Jim Weirich

Jim Weirich

Neo Innovation

Jim Weirich is the Chief Scientist for EdgeCase LLC, a Rails development firm located in Columbus Ohio. Jim has over twenty-five years of experience in software development. He has worked with real-time data systems for testing jet engines, networking software for information systems, and image processing software for the financial industry. Jim is active in the Ruby community and has contributed to several Ruby projects, including the Rake build system and the RubyGems package software.

Comments on this page are now closed.


Doug Rohde
05/06/2009 1:38am PDT

I thought the side trip into the history of electromagnetics was an interesting setup, but took up too much of the presentation (15 min!) I had people next to me leave because this went on too long. My only suggestion would be to pare this down to, at most, 5 minutes, and spend that extra time discussing the topic at hand. Otherwise I thought the presentation was interesting, and I look forward to applying these concepts.

Aaron Hawkins
05/05/2009 10:45am PDT

This seemed to be a continuation of the re-factoring tutorial from the first day – and it was enjoyable. I’m excited to go have some design discussions armed with new terminology with some of my co-workers. :) I enjoyed the presentation of the talk as well as the material. It wasn’t too fast, it was interesting, and I found it engaging. Thanks for stepping in at the last minute to present.

Don French
05/05/2009 7:53am PDT

Agree with Josh, gives us a set of terminology for discussion.

Picture of Brian Hughes
Brian Hughes
05/05/2009 7:50am PDT

Really good session. Would definitely like to see more on this subject.

-Brian (aka. @Mac_Zealot)

Josh French
05/05/2009 7:49am PDT

It’s great to introduce terms for these concepts so we can discuss them in a meaningful way.

John Dzak
05/05/2009 7:41am PDT

Love how he starts his presentations with a fun idea that relates to his actual talk.

Don French
05/05/2009 7:39am PDT

Interesting beginning. Thought I was in the wrong place, but I did learn some things. Not what I was expecting, but good at the level it was presented.

News and Coverage
co-presented by Ruby Central, Inc. O'Reilly
  • Engine Yard
  • Heroku
  • Sun Microsystems
  • Blue Box Group
  • New Relic

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at RailsConf, contact Yvonne Romaine at yromaine@oreilly.com.

Download the RailsConf Sponsor/Exhibitor Prospectus

Media Partner Opportunities

Download the Media & Promotional Partner Brochure (PDF) for information on trade opportunities with O'Reilly conferences or contact mediapartners@ oreilly.com

Program Ideas

Post your suggestions for speakers, topics, and activities on the RailsConf wiki or send an email to rails-idea@oreilly.com.

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com.

Contact Us

View a complete list of RailsConf 2009 contacts.