Object-Oriented Design Criticism
Recently I've enjoyed watching: Object-Oriented Programming is Embarrassing: 4 Short Examples by Brian Will
As I'm learning Rails at the moment I enjoy seeing examples in Ruby as well.
It's easy to feel inspired by 'good architecture'. Then you go back to work. Use it in your next project. But, your project is a small website. Or a small app. Most of the architecture only makes it harder to figure out. Even worse. You write a big application. Unfortunately, your business domain is different. Maybe you need lower latency. Maybe you have 3 different teams. Maybe you write it in another language. Ther architecture you pick at the beginning is a guess. It's better to avoid guessing for as long as possible.
There is a place for good architecture. Unfortunately, it's abused most of the time.
If you don't believe in my experience take a look at quotes that summarize it well:
The design process is an iterative one.
- Andy Kinslow
Everything should be built top-down, except the first time.
- Alan Perlis
Quotes from the great talk Procedural Programming: It’s Back? It Never Went Away - Kevlin Henney