Визначення скелету алгоритму у вигляді операцій, відокремлюючи деякі його кроки у дочірні класи. Метод Шаблону дозволяє дочірнім класам перевизначати певні кроки алгоритму без зміни структури алгоритму.
Інкапсулювання запиту у якості об’єкта, що дає змогу параметризувати клієнти за допомогою різних запитів, створюючи чергу запитів і підтримування зворотніх операцій.
Забезпечує уніфікований інтерфейс для набору інтерфейсів у підсистемі. Фасад визначає високорівневий інтерфейс, який робить систему легкою у використанні.
Мотивація
Структурування систем у підсистеми допомагає зменшити її складні...
Динамічно прикріпляє додаткову відповідальність до об'єкта. Дкоратор забезпечує гнучку альтернативу до створення потомків для розширення функціональності.
Компонує об'єкти у деревоподібні структури для представлення (part-whole?) ієрархій. Композитор дозволяє клієнтам трактувати індивідуальні об'єкти і композиції об'єктів уніфіковано.
Перетворює інтерфейс класу у інший інтерфейс, який очікує клієнт. Адаптер дозволяє класам працювати разом, які не могли б через їхню несумісні інтерфейси.