Kevlin Henney wrote a white paper on patterns in Java called The Temptations of Symmetry. Here he suggests that software designs should be biased toward symmetry because symmetric designs tend to be simpler and hence easier to use. The paper includes sections on Returning What You Borrow, Not Returning What You Didn’t Borrow, Fault Injection, and Encapsulating What You Borrow. You can download a PDF version of the document from the following link:
The Temptations of Symmetry
![]() | Tuesday, October 26th, 2010 |
Intel’s TBB Library
![]() | Thursday, September 9th, 2010 |
Intel provides the Threading Building Blocks (TBB) as an open-source library to make it easier to write multithreaded C++ code. This library offers some good examples of C++ API design, including the use of namespaces, templates, containers, iterators, and parallel programming patterns. The TBB library works for Windows, Mac OS X, and Linux.
Design Patterns 15 Years Later
![]() | Thursday, September 9th, 2010 |
Some of the original authors of the Design Patterns book recently gave an interview for InformIT, called “Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson”. This is an interesting retrospective on Design Patterns and their relevance today. It’s interesting to note that the only pattern they may not include today is the Singleton because, as Erich notes, it’s use is often a design smell.
Alexandrescu’s Loki Library
![]() | Wednesday, September 8th, 2010 |
Andrei Alexandrescu published an excellent book called “Modern C++ Design.” In this book, he introduced the notion of policy-based templates as a way to provide highly-configurable solutions to various design patterns. He made the source code for these templates available via his Loki library, available at: