Az objektumorientált technológia alapelvei

Az objektum-orientált megközelítés fő elvei: absztrakció, kapszulázás, modularitás, hierarchia. További elvek a gépelés, a konkurencia és a kitartás. További felhívásuk, azt értjük, hogy hasznosak az objektummodellben, de nem szükségesek. Mindegyik alapelv önmagában nem új, de az objektummodellben először alkalmazzák őket.







Az absztrakció az összetett problémák megoldásának egyik alapelve. Az absztrakció megkülönbözteti egy objektum lényeges tulajdonságait, amely megkülönbözteti az objektumtól az összes többi objektumtól, és így egyértelműen meghatározza fogalmi korlátait a megfigyelő szemszögéből.

Tokozást. Ha az absztrakció az objektum megfigyelt viselkedésére irányul, akkor belső szervezetének feladata a kapszulázás. Az inkapsuláció az a folyamat, amely egy objektum elemeit elválasztja egymástól, meghatározva annak szerkezetét és viselkedését; Az inkapsuláció az absztrakció szerződéses kötelezettségeinek elkülönítését szolgálja azok végrehajtásától. Így az absztrakció és a kapszulázás kiegészítik egymást. Az absztrakció csak a kapszulázással együtt működik. A gyakorlatban ez azt jelenti, hogy két rész van az osztályban: a felület és a megvalósítás. Az interfész tükrözi az objektum külső viselkedését, leírva az osztály minden objektumának viselkedését. A belső megvalósítás leírja ennek az absztrakciónak az ábrázolását és az objektum kívánt viselkedését elérő mechanizmusokat. A felület és a megvalósítás elválasztásának elve megegyezik a dolgok lényegével: a csatolófelületen minden összefoglalódik az objektum és más objektumok kölcsönhatásaival kapcsolatban; a megvalósítás elrejti a többi objektum minden részletét, amely nem kapcsolódik az objektum interakció folyamatához.

Modularitás. A program modulokba való elkülönítése lehetővé teszi a komplexitás csökkentését, de még ennél is fontosabb, hogy a modulprogramban számos jól definiált és dokumentált interfész jön létre, amelyek fontosak a program egészének kimerítő megértéséhez. A program moduljai fizikai tárolóként működnek, amelyekbe osztály- és objektumleírások kerülnek. A programnak a modulok megfelelő felosztása majdnem olyan nehéz, mint a megfelelő absztrakciók kiválasztása. A modulokat arra kell törekedni, hogy a logikailag kapcsolódó absztrakciók összekapcsolása és a modulok közötti összeköttetés minimalizálása érdekében megtervezett legyen.

Az objektumorientált rendszerek fontos eleme és a hierarchia fő fajtája az örökség fogalma. Az örökség az osztályok (szülő / gyermek kapcsolat) közötti összefüggésre utal, amikor egy osztály kölcsönzi egy vagy több más osztály (egyszeri és többszörös öröklés) strukturális vagy funkcionális részét. Más szóval, az öröklés olyan absztrakciók hierarchiáját hozza létre, amelyben az alosztályok egy vagy több szupersztályból származó struktúrát örökölnek. Gyakran egy alosztály építi vagy újraírja a szülő osztály elemeit. Így az örökség generál egy "generalizációs-specializációs" hierarchiát, amelyben egy alosztály a szuperklasszuma speciális speciális esete. A rész (rész) "része", ellentétben a "egy" hierarchiával, bemutatja az aggregációs hierarchiát. Az aggregáció lehetővé teszi, hogy fizikailag csoportosítsa a logikailag kapcsolódó struktúrákat, és az öröklés más generációkat más absztrakciókra másol.







A gépelés egy módja annak, hogy védelmet nyújtsanak az egy osztályba tartozó tárgyak használatával szemben egy másik helyett, vagy legalábbis kezeljük az ilyen felhasználást. A gépelés az alkalmazásfejlesztőt arra kényszeríti, hogy absztrakciókat fejezzen ki, hogy a végrehajtásban alkalmazott eszköz támogassa az elfogadott tervezési döntések betartását. Nagyon rugalmas ebben az esetben a fejlesztő a polimorf működés mechanizmusát adja. A polimorfizmus azt határozza meg, hogy ugyanaz a név különböző típusú objektumokat jelenthet, de közös elődökkel rendelkezik, mindegyiknek van egy közös részhalmaza a műveletekre, amelyeket végre lehet hajtani. A polimorfizmus ellentétét monomorfizmusnak nevezik.

Párhuzamosságot. Vannak olyan feladatok, amelyeknél az automatizált rendszereknek sok eseményt egyszerre kell kezelniük. Más esetekben a számítási teljesítmény iránti igény meghalad egy processzor erőforrásait. Mindegyik helyzetben természetes, hogy több számítógépet használ a feladat megoldásához vagy a többprocesszoros számítógép többfeladatos használatához. A folyamat (vezérlőáramlás) a rendszer alapvető működési egysége. Mindegyik program rendelkezik legalább egy vezérlőárammal, a párhuzamos rendszer sok ilyen szálat tartalmaz. De mihelyst a párhuzamot bevezetik a rendszerbe, azonnal felmerül a kérdés, hogy miként lehet szinkronizálni az aktív objektumok egymással, valamint más, egymást követően fellépő objektumokkal való kapcsolatát. Például, ha két objektum harmadik üzenetet küld, akkor bizonyos mechanizmusnak kell lennie, amely biztosítja, hogy az objektum, amelyre a műveletet irányítja, nem ütközik össze, ha mindkét aktív objektum egyidejűleg megpróbálja megváltoztatni állapotát. Párhuzamos rendszereknél nem elegendő egy tárgy viselkedését meghatározni, még mindig szükséges intézkedéseket tenni annak biztosítása érdekében, hogy több független folyamat ne pusztítsa el.

A tárgyak tartósságának spektruma időben kiterjed:

- a számítások közbenső eredményei;

- az eljáráshívás helyi változói;

- saját változók, globális változók és dinamikusan generált adatok;

- a programfuttatások között elmentett adatok;

- a program új verziójára történő áttéréskor mentett adatok;

- olyan adatok, amelyek általában túlélik a programot.

Hagyományosan a programozási nyelvek az első három szint, és az adatbázisok az utolsóak. A perzisztencia bevezetése objektumorientált adatbázisokhoz (OODB, objektumorientált adatbázisok) vezetett. Az OODB-ben érdemes menteni nem csak az adatokat. hanem az osztályokat is, hogy a programok megfelelően értelmezhessék az adatokat. Ez nagy nehézségeket okoz, mivel az adatok mennyisége nő, különösen, ha az objektum osztályát módosítani kell.

Ami a tárgyak megmaradását illeti a térben, a legtöbb rendszerben az objektumok a memóriában lévő objektumokhoz vannak hozzárendelve, amely nem változik, és amelyben az objektum teljes. Az elosztott rendszerek esetében azonban kívánatos, hogy képesek legyenek az objektumok térben történő átvitelére, hogy átvihetők legyenek a gépről a gépre, és ha szükséges, módosítsák az objektum reprezentációjának formáját a memóriában.

6. § Az egységes modellezési nyelv célja és célja. Alapvető UML koncepciók




Kapcsolódó cikkek