Keretrendszer

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. február 20-án felülvizsgált verziótól ; az ellenőrzések 7 szerkesztést igényelnek .

Framework (néha keretrendszer ; anglicizmus , neologizmus a keretrendszerből  - csontváz , keret, keret, szerkezet) - szoftverplatform, amely meghatározza a szoftverrendszer felépítését; szoftver , amely megkönnyíti egy nagy szoftverprojekt különböző összetevőinek fejlesztését és integrálását.

A "keret" szót is használják, és egyes szerzők főként használják, beleértve egyáltalán nem az angol analógon [1] [2] [3] . A keretmegközelítésről [3] is beszélhetünk, mint programépítési megközelítésről, ahol bármely programkonfiguráció két részből épül fel:

  1. Az állandó rész egy keret, amely nem változik konfigurációról konfigurációra, és fészkeket hordoz, amelyekben a második, változó rész található;
  2. Csatlakoztatható modulok (vagy bővítési pontok).

Különbségek a könyvtártól

A „keretrendszer” abban különbözik a könyvtár fogalmától, hogy egy könyvtárat egy szoftvertermékben egyszerűen csak hasonló funkcionalitású szubrutinok halmazaként lehet használni anélkül, hogy ez befolyásolná a szoftvertermék architektúráját, és nem szabna rá korlátozásokat. Míg a „keret” diktálja az alkalmazás architektúra felépítésének szabályait, a fejlesztés kezdeti szakaszában beállítja az alapértelmezett viselkedést - a „keretet”, amelyet a meghatározott követelményeknek megfelelően bővíteni és módosítani kell. Egy példa szoftver keretrendszer a CMF ( Content Management Framework ) és egy példakönyvtár egy e - mail modul .

Ezenkívül a könyvtáraktól eltérően, amelyek egy sor hasonló funkcionalitást egyesítenek, a „keretrendszer” nagyszámú, különböző témájú könyvtárat tartalmazhat.

A legfontosabb különbség a „keretrendszer” és a könyvtár között az irányítás megfordítása : a felhasználói kód meghívja a könyvtári függvényeket (vagy osztályokat), és a hívás után átveszi az irányítást. A "keretrendszerben" a felhasználói kód olyan konkrét viselkedést valósíthat meg, amely a keretrendszer általánosabb - "absztrakt" kódjába van beágyazva. Ebben az esetben a "keretrendszer" meghívja a [4] felhasználói kód függvényeit ( osztályait ) .

Szoftverrendszer keretrendszer

Ez egy szoftverrendszer (vagy alrendszer) kerete . Tartalmazhat: segédprogramokat, kódkönyvtárakat, szkriptnyelvet és egyéb szoftvereket , amelyek megkönnyítik egy nagy szoftverprojekt különböző összetevőinek fejlesztését és integrálását. A társítás általában egyetlen API használatával történik .

Példák: webes keretrendszerek , például a Zend Framework, a Laravel vagy a Symfony PHP keretrendszerek vagy a Pythonban írt Django .

Alkalmazási keretrendszer

A „wireframe” alkalmazások használatának egyik fő előnye az alkalmazás „standard” felépítése. A "keretek" a grafikus felhasználói felületek megjelenésével váltak népszerűvé , amelyek általában szabványos keretrendszert valósítottak meg az alkalmazásokhoz. Használatuk révén sokkal könnyebbé vált a grafikus felületek automatikus létrehozására szolgáló eszközök létrehozása, hiszen az alkalmazáskód belső megvalósításának felépítése előre ismertté vált. Az objektumorientált programozási technikákat jellemzően keretrendszer biztosítására használják (például egy alkalmazás részei örökölhetők a keretrendszer alaposztályaiból).

Az egyik első kereskedelmi alkalmazási keretrendszer a MacApp volt , amelyet az Apple írt „ Macintosh ”-ra. Eredetileg az " Object Pascal " nyelv kiterjesztett (objektum-orientált) változatával készült, majd a " C++ " nyelven átírták . További népszerű "Macintosh" keretrendszerek:

Az alkalmazás-keretrendszerek különböző mértékben a „ CocoaMac OS X -hez , valamint a Mozilla , OpenOffice.org , GNOME és KDE projektek részeként létező ingyenes keretrendszerek .

A Microsoft egy hasonló terméket készített a " Windows " számára Microsoft Foundation Classes (MFC) néven. Jelenleg a Microsoft szoftverfejlesztési zászlóshajója a " .NET ".

A platformok közötti alkalmazáskeretrendszerek ( Linux , Macintosh és Windows operációs rendszerekhez) például a widget toolkit , wxWidgets , Qt , .NET , MyCoRe vagy FOX toolkit .

Conceptual Model Framework

A struktúra elvont fogalma, amelyet kutatásban használnak egy probléma megoldásának vagy egy ötlet megjelenítésének lehetséges módjainak azonosítására.

A keretrendszer megvalósítása

A „keretrendszer” konkrét és absztrakt osztályok halmaza, és meghatározza, hogyan hatnak egymásra. A konkrét osztályok általában az osztályok közötti kölcsönös kapcsolatokat valósítják meg. Az absztrakt osztályok olyan kiterjesztési pontok , ahol a keretrendszerek használhatók vagy adaptálhatók.

A kiterjesztési pont  a keretrendszer azon „része”, amelyre nincs megadva megvalósítás. Ennek megfelelően a fogalmi modell keretrendszere fogalmi osztályokból , a szoftverrendszer kerete pedig egy általános célú programozási nyelv osztályaiból áll.

A keretrendszer létrehozásának folyamata a probléma feladatainak és megvalósításainak egy részhalmazának kiválasztása. Az implementációk során az általános problémamegoldó eszközöket konkrét osztályokba foglalják, a változtatható eszközöket pedig kiterjesztési pontokra helyezik át.

Lásd még

Jegyzetek

  1. V. Faronov. Alkalmazások létrehozása C# segítségével, Moszkva, EKSMO, 2008, p. 12
  2. Az IS reengineering módszerei és technológiái. K. V. Akhtyrchenko, T. P. Sorokvasha archiválva : 2009. augusztus 3., a Wayback Machine , Institute for System Programming RAS
  3. 1 2 Gorbunov-Posadov M. M. Bővíthető programok . - M . : Poliptichon, 1999. - 336 p. — ISBN 5-901-11801-4 . Archivált : 2012. szeptember 20. a Wayback Machine -nál
  4. Martin Fowler. InversionOfControl  _ _ Letöltve: 2013. november 5. Az eredetiből archiválva : 2011. január 23..