Object Oriented Design

05/03/2008 - 11:00
05/03/2008 - 11:45

Excellent Object Oriented Design Roundtable.

twitter_name: 
jkwatson

Notes

Lots of people - new programmers - have trouble with decent OO design; and a lot don't care.

Universities have trouble teaching it.
@smoo: Adding ++ to your compiler doesn't make it object oriented. Smalltalk - living objects in codespace, not text.

Rules of thumbs:
Do one thing, do it well

Composition vs Inheritance
Winnebago - "Land of the Stinking Waters"

Class hierarchies are too often implementation details
Thoughtworks Book essay - Object Calisthenics
http://binstock.blogspot.com/2008/04/perfecting-oos-small-classes-and-sh...

Can you teach object oriented programming?
No. Yes. With management support, with pairing. Even 'watch me while I do this code' can work, if it's not too much.

"Build a man a fire, he's warm for a day. Set a man on fire and he's warm for the rest of his life."

Principle:
Mind your own business. If an object can't just do one thing, then a method should.

Dependency injection - give an object what it needs, don't make it find it. Also makes testing easier.

Statically typed languages make OO hard. Yes. No. Not so much, at least one doesn't think they're fighting the system.

Why isn't Smalltalk more popular?
Marketing
Never critical mass
It doesn't work with UNIX.

Welcome to BarCamp Portland!

BarCamps are gatherings born of the desire for people to share and learn
in an open environment. BarCamps have discussions, demos
and interaction from participants.

This site is a great place to keep up to date with BarCamp Portland schedule, but please check out the BarCamp Portland site for background info. You can track all changes on the site with this feed.