Попробуйте почитать книгу "The Architecture of Open Source Applications". В книге описывается архитектура известных Open Source проектов, в том числе, написанных на C++. В сети есть русский перевод некоторых глав из этой книги. В любом случае книга интересная и полезная. :)