How to effectively design a C++ modular program? How to learn?
Read this: http://www.amazon.com/Large-Scale-Software-Design-John-Lakos/dp/0201633620