Framework

softwarová knihovna, která pomáhat organizovat vývoj jiného software

Framework, česky aplikační rámec nebo vývojová platforma, je softwarová struktura pro podporu programování, vývoje a organizaci jiných softwarových projektů. Může obsahovat podpůrné programy, knihovny API, podporu pro návrhové vzory nebo doporučené postupy při vývoji.

Účel editovat

Cílem frameworku je převzetí typických problémů dané oblasti, což umožní, aby se návrháři a vývojáři mohli soustředit pouze na své zadání. Například tým, který používá Apache Struts k vývoji webových stránek pro banku, se může zaměřit na to, jak se budou provádět bankovní operace, a ne jak zajistit bezchybnou navigaci mezi jednotlivými stránkami.

Vyskytují se námitky, že použitím frameworku bude kód pomalý či jinak neefektivní a že čas, který se ušetří použitím cizího kódu, se musí věnovat nastudování frameworku. Nicméně při jeho opakovaném nasazení nebo ve velkém projektu dojde k výrazné úspoře času. Navíc některé známé a používané frameworky jsou často již vyladěné a není nutné, aby je vývojář znovu vytvářel. Při odinstalování frameworku již nebude možné některé aplikace spustit, jestliže jsou na něm závislé, což ovlivňuje architektura a struktura daného frameworku.

Architektura editovat

Framework se skládá z tzv. frozen spots a hot spots. Frozen spots definují celkovou architekturu softwarové struktury, její základní komponenty a vztahy mezi nimi. Tyto části se nemění při žádném použití frameworku. Naproti tomu hot spots jsou komponenty, které spolu s kódem programátora vytvářejí zcela specifickou funkcionalitu, a proto jsou skoro pokaždé jiné.

V objektově orientovaném prostředí je framework tvořen abstraktními a klasickými (neabstraktními) třídami. Frozen spots pak mohou být reprezentovány abstraktními třídami a vlastní kód (hot spots) se přidá implementací abstraktních metod.

Příklady editovat

Související články editovat

Externí odkazy editovat