Существует в основном три типа шаблонов проектирования:
1. Порождающие. Шаблоны связаны с созданием экземпляров классов или объектов. В то время как шаблоны классов эффективно используют наследование в процессе создания экземпляров, шаблоны объектов эффективно используют делегирование.
2. Структурные. Эти шаблоны предназначены для организации классов и объектов при формировании более крупных структур.
3. Поведенческие модели связаны с выявлением общих моделей связи между объектами и реализацией этих моделей.