Prototípus programozási definíciója a prototípus programozásának és a prototípus szinonimáinak

Angol arab bolgár kínai horvát cseh dán holland angol észt finn francia görög héber hindi magyar izlandi indonéz olasz japán koreai lett litván madagaszkári Norvég Perzsa Lengyel Portugál Román Orosz Szerb Szlovák Szlovén Spanyol Svéd Thai Török Vietnami

Angol arab bolgár kínai horvát cseh dán holland angol észt finn francia görög héber hindi magyar izlandi indonéz olasz japán koreai lett litván madagaszkári Norvég Perzsa Lengyel Portugál Román Orosz Szerb Szlovák Szlovén Spanyol Svéd Thai Török Vietnami

meghatározás - PROTOTYPE PROGRAMOZÁS

A Wikipédiából, a szabad enciklopédiából

Összehasonlítás az osztályorientált megközelítéssel

Az "osztály" fogalmán alapuló nyelveken az objektumok két fő típusra oszthatók: osztályok és példák. Az osztály meghatározza a struktúrát és a funkcionalitást (viselkedést), ugyanazt az osztály minden példányát. Egy példa egy adathordozó - azaz van egy állapot. az osztály által adott viselkedésnek megfelelően változik.

A prototípus-programozás támogatói gyakran azzal érvelnek, hogy az osztályokon alapuló nyelvek túlzott koncentrációhoz vezetnek az osztályok taxonómiájához és a köztük lévő kapcsolathoz. Ezzel ellentétben, a prototípus összpontosít néhány (kicsi) "minta" viselkedésére, amelyeket azután "alap" objektumokként osztályoznak és más objektumok létrehozására használják. Sok prototípus-alapú rendszerek támogatják a módosítást prototípusok futásidőben, mivel csak egy kis része az osztály-orientált rendszerek (pl Smalltalk) lehetővé teszi, hogy dinamikusan változtatni osztályok.

Bár a prototípus-alapú rendszerek túlnyomó többsége dinamikus gépeléssel rendelkező, értelmezett nyelveken alapul, technikailag lehetséges a prototípus készítése statikus típusú ellenőrzésű nyelvekhez. Az Omega nyelv egy példa erre a rendszerre.

Objektumok tervezése

Az osztály-orientált nyelveknél új példányt hoz létre az osztály-konstruktor (esetleg paraméterek készítésével) felhívásával. A kapott példány szerkezete és viselkedése határozottan osztályozza az osztályát.

A prototípus-orientált rendszereknél két módszer létezik egy új objektum létrehozására: meglévő objektum klónozása vagy objektum létrehozása a semmiből. Objektum létrehozása a semmiből, a programozó kapja a tulajdonságok és módszerek hozzáadásához szükséges szintaktikai eszközöket. A jövőben egy teljes másolatot lehet beszerezni a létrejött objektumból, egy klónból. A klónozás során a másolat örökölte prototípusának minden jellemzőjét, de attól a pillanattól kezdve független lesz és megváltoztatható. Egyes implementációkban a másolatok tárolják a prototípus objektumokra való hivatkozásokat, és ezek egy részét átruházzák rájuk; míg a prototípus megváltoztatása hatással lehet az összes másolatára. Más implementációkban az új objektumok teljesen függetlenek a prototípusuktól. Mindkét esetet vegye figyelembe.

felhatalmazás

Prototípus-orientált nyelveken, amelyek küldetést használnak. A végrehajtási környezet képes módszeres hívások küldésére (vagy keresni a szükséges adatokat) egyszerűen a mutatók átruházásának láncolatával (az objektumról a prototípusra), amíg ez megegyezik. Az "osztálypéldány" viszonylattól eltérően a "prototípus-leszármazottak" reláció nem követeli meg, hogy a leszármazott objektumok megőrzik a szerkezeti hasonlóságukat a prototípusukkal. Idővel alkalmazkodhatnak és javíthatók, de nincs szükség a prototípus újratervezésére. Fontos, hogy adjon hozzá / törölje / módosítsa nemcsak az adatokat, hanem a funkciókat is, míg a funkciók szintén az első szint objektumai. Ennek eredményeképpen a legtöbb prototípus-orientált nyelv a "rés" (cellák) objektum adatainak és módszereinek hívását jelenti.

lépcsőzetes

Ennek a megközelítésnek az előnyei közé tartozik az a tény, hogy egy másolat készítője megváltoztathatja anélkül, hogy félne a mellékhatásoktól az ősei más leszármazottai között. A diszpécser költségei drasztikusan csökkentek is, mivel nem szükséges megkerülni az esetleges küldöttek teljes láncolatát egy megfelelő rés (módszer vagy attribútum) keresésére.

További hátrány, hogy a legegyszerűbb végrehajtásának ezt a modellt vezet fokozott (szemben a felhatalmazás modell) memória-felhasználás, mivel minden egyes klón, amíg meg nem változtatja, tartalmazni fog egy példányt a prototípus adatokat. Ez a probléma azonban megoldást jelent a változatlan adatok optimális szétválasztására és a "lusta másolás" használatára, amelyet Kevo használ.

Támogatói a class-orientált objektum modell, amely bírálja a prototípus megközelítés gyakran zavarják ugyanaz a probléma, mit aggódik támogatói statikus gépelési képest dinamikusan típusos nyelv. Különösen a viták olyan témák köré csoportosulnak, mint a helyesség és a biztonság. a program kiszámíthatóságát és hatékonyságát.

Ami az első három pontot, akkor az osztályok gyakran tekintik a típusok (és valóban, ahogy a legtöbb objektum-orientált statikusan típusos nyelv), és azt feltételezik, hogy az osztályok adnia bizonyos megállapodásokat, valamint biztosítsák, hogy a példányok is jól viselkednek bizonyos módon .

irodalom

Kapcsolódó cikkek