Large-scale C++ software design - Lakos, John (Addison-Wesley Pub. Co., 1996)