понеділок, 19 грудня 2011 р.

Objective-С (middle level) Вступ до патернів. Prototype (прототип;зразок; модель; еталон)

Стаття ще не дописана.....(preview)

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

THE PROTOTYPE PATTERN: Specify the kinds of objects to create using a prototypical instance,
and create new objects by copying this prototype.*
* The original definition appeared in Design Patterns, by the “Gang of Four” (Addison-Wesley,1994).



Застосовується в випадках:
Коли нам необхідно створити об'єкти, незалежно від того, що це за об'єкти і як вони створюються.
Класам задаються значення під час виконання програми.
Коли нам не потріба ієрархія  фабрик до відповідної ієрархії об'єктів.
Коли різниця між декільками об'єктами всього в декількох значеннях, доцільніше клонувати (clone) відповідну кількість прототипів, ніж ініціалізувати їх і змінювати потім.
При роботі з класами, які містять в якості полів інші підкласи, тоді краще також клонувати і змінити їхні значення.
Якщо говорити про глибоке копіювання, то його доцільним можна вважати:
Коли необхідно зробити копію всього об"єкту і заархівувати його.
Коли необхідно видати чійсь код, як образець патерну, щоб потім застосовувати його в необхідних місцях програми.
Що до першого випадку, то необхідно уважно слідкувати за тим щоб в  момент коли робиться копія для архівування, об'єкт з якого робиться відбиток не модифікувався.

Немає коментарів:

Дописати коментар