Elemental Design Patterns by Jason McC. Smith adds to the design patterns literature in a significant way; rather than building up more and more patterns that are more and more domain-specific, he breaks down even what are considered elemental design patterns into semantic units that are inherent in object-oriented languages. He’s given the design patterns community a set of building blocks, and an analytic framework for thinking about patterns in, really, any language.
The great thing that comes from identifying the building blocks is composability; the patterns we already know can be composed of these lower-level units. From this we gain new tools in comparing and analyzing them.
The author also introduces a new type of diagram called PINbox diagrams, which elegantly allow you to capture details of roles played in a computation. The best thing about them though is that they can be nested, so they enable looking at a design with different degrees of details. It will be interesting to see if this diagramming technique catches on.
Now, all the goodness aside, I’m not sure that the content or ideas have a great deal of day-to-day, practical use. I don’t think that’s what he was going for though, so that isn’t a criticism. Just a warning; this patterns book is not like other patterns books.
But I highly recommend it if you enjoy design patterns and/or OO languages!