Deborah Kurata is well-known to us old-timers who used to read her excellent articles on OO techniques years ago. She's been flying under the radar for a while, but she's recently started blogging (great news)!
Over the last couple weeks, Deborah has been doing something of a quick primer on OO for her readers, based on some of her earlier writings. While I expect most readers here already consider themselves OO experts, I really encourage everyone to read through this series:
- What is OO?
- What are Objects?
- What is a Class?
- Basic Pillars of an Object-Oriented System
- What is an Interface?
If you're new to OO, these will be a great way to improve your skills. If you're experienced in OO, though, I'd like you to consider something else.
Notice the simplicity and elegance in Deborah's descriptions of Objects. Compare this to the big, framework-based, computer-generated, uber-designs we deal with every day. There's a reason every developer prefers green-field development to brown-field development, and there's a reason why we see a sensation like Ruby-On-Rails every few years.
The simplicity and beauty of starting over is liberating. Starting a brand-new object hierarchy with only the "real" properties of those objects brings a clarity to our design that we rarely see in Enterprise applications.
I urge you to experience this feeling of simplicity from time to time, and remember what it feels like. When you start looking at frameworks, tools, standards, and all the other trappings of grown-up development, consider how these things move us away from the simplicity of Deborah's definitions. If you can implement frameworks and tools that stay out of your way and leave the purity of real objects visible to the developer, please give some thought to how that's going to help connect your developers to your customers (you know -- the folks who pay for you to build this stuff in the first place).
Now, go read those articles!