Back

ⓘ Прототип (пројектни узорак)




                                     

ⓘ Прототип (пројектни узорак)

Прототип пројектни узорак је пројектни узорак креирања који се користи приликом развоја софтвера када се врста објекта који треба креирати одређује помоћу прототипске инстанце, која се клонира да би се добио нови објекат. Овај пројектни узорак се користи:

  • да се избегне креирање нових објеката стандардним начинима нпр. коришћењем кључне речи "new" што некад може бити скупа операција.
  • да се избегну поткласе које креирају објекте у клијентским апликацијама, као што је то случај код апстрактне фабрике.
  • када се класе специфицирају у време извршења, нпр. динамичким учитавањем.

Да би се овај пројектни узорак имплементирао, декларише се основна класа која обезбеђује чисту виртуалну clone методу. Било коју класу којој треба могућност полиморфног конструктора треба извести од основне класе и имплементирати clone операцију за њу.

Клијент, уместо да пише кôд који позива оператор "new" са закуцаним именом класе може да позиве методу clone над прототипом, или да позове фабрички метод са аргументима који ће одредити жељену конкретну поткласу за инстанцирање, или да позиве clone методу на неки други начин који је обезбедио неки други пројектни узорак.

                                     

1. Примери

Прототип пројектни узорак специфицира врсте објеката који се креирају коришћењем прототипске инстанце. Прототипови нових објеката се често креирају пре стварне потребе за њима, али у овим примерима, прототип је пасиван и не учествује у копирању самог себе. Митоза, тј. дељење ћелије, чији су резултат две нове идентичне ћелије је пример прототипа који игра активну улогу у копирању самог себе и тако даје добар пример пројектног узорка прототипа. Када се ћелија подели, добијају се две ћелије са идентичним генотипима. Другим речима, ћелија клонира саму себе.

                                     

2. Применљивост

Некада се пројектни узорци креирања преклапају - има случајева када је одговарајуће применити само прототип или апстрактну фабрику. У другим случајевима, они се надопуњују: апстрактна фабрика може да држи скуп прототипова које клонира и да враћа тако направљене објекте. Апстрактна фабрика, градитељ и прототип могу користити уникат у оквиру њихових имплементација. Класе апстрактне фабрике се често имплементирају помоћу фабричких метода креирање кроз наслеђивање, али некад се могу имплементирати коришћењем прототипа креирање кроз делегацију.

Често, почетни дизајн пројекта почиње са фабричком методом и еволуира у апстрактну фабрику, прототип или градитеља флексибилније, али и комплексније како пројектант открива где је потребно више флексибилности.

Прототип не захтева наслеђивање, али захтева операцију "иницијализације". Фабричка метода захтева наслешивање, али не захтева иницијализацију.

Пројектима који доста користе пројектне узорке композиције или декоратера често помаже прототип.

По овоме, применљивост је онда дефинисана тако да треба користити клонирање clone метода објекта када се у време извршења жели креирати други објекат који је тачна копија објекта који се клонира. Тачна копија значи да сви чланови новокреираног објекта морају бити исти као у објекту који се клонира. Да се класа инстанцира коришћењем оператора new, добио би се објекат чији су чланови постављени на подразумеване, иницијалне вредности. На пример, ако се пројектује систем за обраду банкарских трансакција, требало би направити копију објекта који држи податке о налогу, извршити трансакцију са њим и заменити оригинални објекат са измењеним објектом. У таквим случајевима, требало би користити clone уместо new.

                                     
  • створи производ на који корисник може да реагује. То би требало да понуди узорак кључних аспеката проблема и да обезбеди решење које је довољно једноставно
  • супериорности у ваздушном простору. То су високи захтеви у наменама где су пројектни услови наглашено међусобно супростављени. Карактеристике смањене уочљивости
  • komoru čija je zadnja strana otvorena. Naizmenični Radio frekventni talasi prototip je napravljen sa 13, 56 MHz stvaraju specijalno oblikovane antene koje

Users also searched:

...