Otevřít hlavní menu

Framework (aplikační rámec) je softwarová struktura, která slouží jako podpora při programování a vývoji 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.

ÚčelEditovat

Cílem frameworku je převzetí typických problémů dané oblasti, čímž se usnadní vývoj tak, 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. Při odinstalování frameworku již nebude možné některé aplikace spustit.

ArchitekturaEditovat

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říkladyEditovat

Související článkyEditovat

Externí odkazyEditovat