Очевидный ответ - паттерны «Банда четырех» из известной книги. Это те же самые шаблоны, которые перечислены повсюду.
http://en.wikipedia.org/wiki/Design_Patterns
Кроме того, взгляните на веб-сайт Мартина Фаулера ...
Там ярмарка немного там - "знаменитый", вероятно, "инъекция зависимости". Однако большинство других довольно специфично для предметной области.
«Слои миксинов» могут быть интересны для C ++. Класс шаблона принимает свою собственную основу в качестве параметра шаблона, чтобы шаблон можно было использовать для добавления той же функциональности ко многим различным классам, или в качестве метода композиции, чтобы можно было легко включать / исключать различные функции для библиотеки. Иногда также используется любопытный трюк с повторяющимся шаблоном (исходная база - это последний полностью скомпонованный класс), чтобы различные уровни миксина могли выполнять некоторую степень «отражения», так что промежуточные методы могут быть определены в терминах полностью скомпонованного класса. типы членов и т. д. Конечно, это может быть немного подвержено неразрешимым циклическим зависимостям, если вы не будете осторожны.
Предлагаю прочитать Шаблоны проектирования «Сначала голова» . Это увлекательное чтение, и вы узнаете о многих распространенных шаблонах проектирования.
Прочтите Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения .
В произвольном порядке, Банда Четырех шаблонов, которые я вижу и использую чаще всего, вероятно, следующая: