Класифікація патернів

Патерни відрізняються за рівнем складності, деталізації та охоплення проектованої системи. Проводячи аналогію з будівництвом, ви можете підвищити безпеку на перехресті, встановивши світлофор, а можете замінити перехрестя цілою автомобільною розв'язкою з підземними переходами.

Найбільш низькорівневі та прості патерни — ідіоми. Вони не дуже універсальні, позаяк мають сенс лише в рамках однієї мови програмування.

Найбільш універсальні — архітектурні патерни, які можна реалізувати практично будь-якою мовою. Вони потрібні для проектування всієї програми, а не окремих її елементів.

Крім цього, патерни відрізняються і за призначенням. У цій книзі буде розглянуто три основні групи патернів:

  • Породжуючі патерни піклуються про гнучке створення об'єктів без внесення в програму зайвих залежностей.

  • Структурні патерни показують різні способи побудови зв'язків між об'єктами.

  • Поведінкові патерни піклуються про ефективну комунікацію між об'єктами.