Chapter 25 of The C++ Programming Language
Some observations from this chapter is similar to material normally covered by design pattern literature