Avdi Grimm—the author of one of my favorite Ruby books, Exceptional Ruby—just published his new notebook on thoughtful and advanced object-oriented design, available online for free. With practical advice about dependency injection, introduction of the Exhibit pattern (an alternative to presenters) and even dabbling in hypermedia APIs near the end, Object on Rails is for every developer who wants to take his or her skills up a level.
An early reader jokingly called it “how to build a blog in 15 months”, which I got a chuckle out of, because it’s kind of true. I picked a blog example because it’s something that’s familiar to everyone, […]. But the design choices I chose to illustrate are of the kind that are primarily relevant for growing and evolving large systems. Of course, every large, complex system starts out as a small simple one; and a robust architecture comes from making good decisions early on in the process.