Отже, що ж таке шаблони проектування (патерни проектування, design patterns).
Спробую відповісти на це запитання. В процесі розробки програмних продуктів, задачі які ми вирішуємо, мають різну ступінь складності, іноді нам трапляються непрості рішення, які нам потрібно реалізувати в нашому програмному продукті, але ці рішення не нові в програмуванні, і подібне щось, вже раніше було. Найкращий архітектурні рішення, з часом зберігаються, повторюються і стають дуже популярними. Такими рішеннями, і є шаблони проектування. Їх застосування рахується хорошим тоном в програмуванні. Проте підхід: "Є задача, застосовуємо патерн, маємо проблеми" - не правильний. Правильний підхід: "Є проблема, застосовуємо патерн, проблема вирішена".
Спробую відповісти на це запитання. В процесі розробки програмних продуктів, задачі які ми вирішуємо, мають різну ступінь складності, іноді нам трапляються непрості рішення, які нам потрібно реалізувати в нашому програмному продукті, але ці рішення не нові в програмуванні, і подібне щось, вже раніше було. Найкращий архітектурні рішення, з часом зберігаються, повторюються і стають дуже популярними. Такими рішеннями, і є шаблони проектування. Їх застосування рахується хорошим тоном в програмуванні. Проте підхід: "Є задача, застосовуємо патерн, маємо проблеми" - не правильний. Правильний підхід: "Є проблема, застосовуємо патерн, проблема вирішена".