Writing Modular Applications

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.

People planning to attend this session also want to see:

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

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.

Donald French

05/05/2009 7:53am PDT

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

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.

Donald 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.