www.wikidata.uk-ua.nina.az
Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lyutij 2016 Prototipne programuvannya stil ob yektno oriyentovanogo programuvannya pri yakomu vidsutnye ponyattya klasu a povtorne vikoristannya uspadkuvannya provoditsya shlyahom klonuvannya nayavnogo primirnika ob yekta prototipu Kanonichnim prikladom prototip oriyentovanoyi movi ye mova Self Nadali cej stil programuvannya pochav nabuvati populyarnosti j buv pokladenij v osnovu takih mov programuvannya yak JavaScript Cecil NewtonScript Io Slate MOO REBOL Kevo ta inshih Zmist 1 Porivnyannya z klas oriyentovanim pidhodom 2 Konstruyuvannya ob yektiv 2 1 Deleguvannya 2 2 Kaskaduvannya 3 Priklad 4 Kritika 5 Movi 6 DzherelaPorivnyannya z klas oriyentovanim pidhodom RedaguvatiU movah sho bazuyutsya na ponyatti klas vsi ob yekti rozdileni na dva osnovnih tipi klasi ta ekzemplyari Klas viznachaye strukturu i funkcionalnist povedinku odnakovu dlya vsih ekzemplyariv danogo klasu Ekzemplyar ye nosiyem danih tobto volodiye stanom sho minyayetsya vidpovidno do povedinki zadanoyi klasom Prihilniki prototipnogo programuvannya chasto stverdzhuyut sho movi zasnovani na klasah prizvodyat do nadmirnoyi koncentraciyi na taksonomiyi klasiv i na vidnosinah mizh nimi Na protivagu comu prototipuvannya zagostryuye uvagu na povedinci pevnoyi nevelikoyi kilkosti zrazkiv yaki potim klasifikuyutsya yak bazovi ob yekti j vikoristovuyutsya dlya stvorennya inshih ob yektiv Bagato prototip oriyentovanih sistem pidtrimuyut zminu prototipiv pid chas vikonannya programi todi yak lishe nevelika chastina klas oriyentovanih sistem napriklad Smalltalk dozvolyayut dinamichno zminyuvati klasi Hocha perevazhna bilshist prototip oriyentovanih sistem ce interpretovani movi z dinamichnoyu tipizaciyeyu tehnichno mozhlivo dodati prototipuvannya i v movi zi statichnoyu perevirkoyu tipiv Mova Omega ye odnim iz prikladiv takoyi sistemi Konstruyuvannya ob yektiv RedaguvatiV klas oriyentovanih movah novij ekzemplyar stvoryuyetsya cherez viklik konstruktora klasu mozhlivo z naborom parametriv Otrimanij ekzemplyar maye strukturu i povedinku zhorstko zadani jogo klasom U prototip oriyentovanih sistemah nadayetsya dva metodi stvorennya novogo ob yekta klonuvannya nayavnogo ob yekta abo stvorennya ob yekta z nulya Dlya stvorennya ob yekta z nulya programistu nadayutsya sintaksichni zasobi dodavannya vlastivostej i metodiv v ob yekt Nadali z otrimanogo ob yekta mozhe buti otrimana povna kopiya klon U procesi klonuvannya kopiya uspadkovuye vsi harakteristiki svogo prototipu ale z cogo momentu vona staye samostijnoyu i mozhe buti zminena U deyakih realizaciyah kopiyi zberigayut posilannya na ob yekti prototipi deleguyuchi yim chastinu svoyeyi funkcionalnosti pri comu zmina prototipu mozhe torknutisya vsih jogo kopij V inshih realizaciyah novi ob yekti povnistyu nezalezhni vid svoyih prototipiv Rozglyanemo kozhnu z cih realizacij Deleguvannya Redaguvati U prototip oriyentovanih movah sho vikoristovuyut deleguvannya seredovishe vikonannya zdatne vikonuvati dispetcherizaciyu viklikiv metodiv abo poshuk potribnih danih prosto podorozhuyuchi lancyuzhkom deleguvannya vkazivnikiv vid ob yekta do jogo prototipu do zbigu Na vidminu vid vidnoshennya klas primirnik vidnoshennya prototip nashadki ne vimagaye shob ob yekti nashadki zberigali strukturnu podibnist zi svoyim prototipom Z chasom voni mozhut adaptuvatisya i polipshuvatisya ale pri comu nemaye potrebi pereroblyati prototip Vazhlivo sho dodavati vidalyati modifikuvati mozhna ne tilki dani a j funkciyi pri comu funkciyi tezh viyavlyayutsya ob yektami pershogo rivnya Vnaslidok cogo bilshist prototip oriyentovanih mov nazivayut dani ta metodi ob yekta slotami komirkami Kaskaduvannya Redaguvati Pri chistomu prototipuvanni jogo nazivayut takozh kaskadnim ta podannya v Kevo klonovani ob yekti ne zberigayut posilan na svoyi prototipi Prototip kopiyuyetsya odin v odin zi vsima metodami ta atributami i kopiyi prisvoyuyetsya nove im ya posilannya Ce nagaduye mitoz biologichnih klitin Do chisla perevag danogo pidhodu vhodit toj fakt sho tvorec kopiyi mozhe zminyuvati yiyi ne poboyuyuchis pobichnih efektiv sered inshih nashadkiv svogo predka Takozh radikalno znizhuyutsya obchislyuvalni vitrati na dispetcherizaciyu tomu sho nema potrebi obhoditi ves lancyuzhok mozhlivih delegativ u poshukah vidpovidnogo slota metodu abo atributa Do chisla nedolikiv mozhna vklyuchiti trudnoshi z poshirennyam zmin u sistemi modifikaciya prototipu ne tyagne za soboyu negajnu j avtomatichnu zminu vsih jogo nashadkiv Tim ne menshe Kevo nadaye dodatkovi zasobi dlya publikaciyi zmin sered mnozhini ob yektiv prichomu na pidstavi yihnoyi podibnosti simejnoyi shozhosti a ne za nayavnistyu zagalnogo predka sho tipovo dlya modelej z deleguvannyam Inshij nedolik v tomu sho najprostishi realizaciyi ciyeyi modeli prizvodyat do zbilshenoyi v porivnyanni z modellyu deleguvannya vitrati pam yati tomu sho kozhen klon poki vin ne zminenij bude mistiti kopiyu danih svogo prototipu Odnak cya problema rozv yazana optimalnim podilom nezminenih danih i zastosuvannyam ledachogo kopiyuvannya sho j bulo vikoristano v Kevo Priklad Redaguvati Priklad prototipnogo stilyu uspadkuvannya v JavaScript z nulya ob yekt stvoryuyetsya iz zastosuvannyam bukvenoyi notaciyi JSON const foo one 1 two 2 inshij ob yekt z nulya const bar three 3 Deyaki rushiyi JavaScript taki yak Gecko i Webkit mozhut pryamo manipulyuvati prototipnimi zv yazkami Dlya prostoti pripustimo sho nastupnij ryadok pracyuye nezalezhno vid vikoristanogo rushiya bar proto foo bar narazi ye nashadkom foo teper mi mozhemo iz bar dostupitisya do vlastivostej foo bar one ce daye 1 ob yekt nashadok zvisno zberigaye i svoyi vlastivosti bar three tut lishayetsya 3 Kritika RedaguvatiPrihilnikiv klas oriyentovanih ob yektnih modelej sho kritikuyut prototipnij pidhid chasto turbuyut ti sami problemi yakimi sturbovani prihilniki statichnoyi tipizaciyi u vidnoshenni do mov z dinamichnoyu tipizaciyeyu Zokrema obgovorennya obertayutsya navkolo takih tem yak pravilnist bezpeka peredbachuvanist ta efektivnist programi Sho stosuyetsya pershih troh punktiv to klasi chasto rozglyadayutsya yak tipi i spravdi v bilshosti ob yektnooriyentovanih mov zi statichnoyu tipizaciyeyu tak vono i ye i peredbachayetsya sho klasi nadayut pevni domovlenosti j garantuyut sho ekzemplyari budut povoditisya cilkom pevnim chinom U chastini efektivnosti ogoloshennya klasiv znachno sproshuye kompilyatoru zavdannya optimizaciyi roblyachi efektivnishimi yak metodi tak i poshuk atributiv u primirnikah U vipadku movi Self chimala chastina chasu bula vitrachena na rozrobku takih tehnik kompilyaciyi ta interpretaciyi yaki dozvolili b nabliziti produktivnist prototip oriyentovanih sistem do yihnih klas oriyentovanih konkurentiv Nareshti mozhlivo najzagalnishim miscem kritiki proti prototipnogo programuvannya ye te sho spilnota rozrobnikiv PZ nedostatno dobre znajome z nim nezvazhayuchi na populyarnist i poshirenist JavaScript Do togo zh oskilki prototip oriyentovani sistemi ye porivnyano novimi j vse she nechislennimi ta ridkisnimi prijomi rozrobki z yihnim vikoristannyam dosi ne otrimali velikogo poshirennya Movi RedaguvatiActor Based Concurrent Language ABCL ABCL 1 ABCL R ABCL R2 ABCL c Agora en Cecil Cel ECMAScript ActionScript DMDScript JavaScript JScript Factor en Io Lua MOO NewtonScript Obliq OpenLaszlo REBOL Self Slate TADSDzherela RedaguvatiIan Grehem Obektno orientirovannye metody Principy i praktika Object Oriented Methods Principles amp Practice 3 e izd Moskva Vilyams 2004 S 880 ISBN 0 201 61913 X nbsp Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Prototipne programuvannya amp oldid 39238339