Page 43 - 4190
P. 43
4. Що собою являють патерни за схемі модель-вид-котролер
(MVC)?
5. Зобразіть схеметично три види моделі.
6. Яка необхідна інформація для опис патернів проектування?
7. Опишіть кожний розділ, на який розбивається кожний патерн.
ЛЕКЦІЯ 5
КЛАСИФІКАЦІЯ ПОРОДЖУЮЧИХ ПАТЕРНІВ
ПРОЕКТУВАННЯ ПРОГРАМННОГО ЗАБЕЗПЕЧЕННЯ
Породжуючі шаблони (Creational patterns) — шаблони проекту-
вання, які абстрагують процес створення екземпляра класу. Вони до-
зволяють зробити систему незалежною від способу створення, компо-
зиції і представлення об'єктів. Шаблон, що породжує класи, викорис-
товує спадкоємство, щоб змінювати інстанційований клас, а шаблон,
що породжує об'єкти, делегує інстанціювання іншому об'єкту.
Ці шаблони є важливими, якщо система більше залежить від
композиції об'єктів, ніж від спадкоємства класів. Виходить так, що
основний наголос робиться не на жорсткому кодуванні фіксованого
набору поведінки, а на визначенні невеликого набору фундаменталь-
них поведінок, за допомогою композиції яких можна отримувати
будь-яке число складніших. Таким чином, для створення об'єктів з
конкретною поведінкою потрібно щось більше, ніж просте інстанці-
ювання класу.
Породжуючі шаблони інкапсулюють знання про конкретні класи,
які застосовуються в системі. Вони приховують деталі того, як ці кла-
си створюються і стикуються. Єдина інформація про об'єкти, відома
системі, — це їх інтерфейси, визначені за допомогою абстрактних
класів. Отже, породжуючі шаблони забезпечують велику гнучкість
при вирішенні питання про те, що створюється, хто це створює, як і
коли. Можна зібрати систему з «готових» об'єктів з найрізноманітні-
шою структурою і функціональністю статично (на етапі компіляції)
або динамічно (під час виконання).
Іноді допустимо вибирати між тим або іншим породжуючим ша-
блоном. Наприклад, є випадки, коли з користю для справи можна ви-
43