Co je to Model-View-Controller?

Model-view-controller (MVC) je typ softwarové architektury a návrhového vzoru, který segmentuje každý prvek programu do přesně definovaných oblastí funkčnosti. V architektuře řadiče zobrazení modelu se model zabývá veškerou interní logikou programu, která manipuluje, ukládá, načítá a jinak zpracovává a vypočítává data. Aspekt pohledu je zodpovědný za zobrazování informací z modelu pro uživatele a také poskytuje uživateli způsob, jak dát vstup do programu. Řídicí jednotka přijímá vstupy z pohledu, vyhodnocuje je nebo jinak zpracovává a interaguje s modelem pro změnu dat nebo programového stavu, který je nakonec uživateli zobrazen v pohledu. Ačkoli design-prohlížeč-řadič design vyžaduje program zapouzdřit funkčnost, tři oddíly stále musí vzájemně ovlivňovat nějakým způsobem a obecně jsou na sobě závislé v jistém smyslu, na rozdíl od jiných agresivnějších vzorů designu.

Poměrně často se vzor-pohled-kontrolér zobrazuje v aplikacích, které spravují grafické uživatelské rozhraní (GUI). S použitím vzoru MVC jsou různé vizuální prvky GUI zpracovávány pohledem, záznamem a zpracováním toho, kde a na co uživatel klikne, je zpracováván ovladačem, a skutečná změna informací nebo načítání informací je prováděna modelem. V závislosti na přesném návrhu aplikace může mít každá komponenta vzoru MVC mechanismus pro interakci s ostatními komponentami, jako je například model, který je schopen přímo nařídit pohledu, aby obnovil obrazovku, nebo pohled mající způsob, jak říct řadič, který obnovuje obrazovku a nepřijímá nový vstup. Na rozdíl od některých návrhových vzorů, které využívají přísný přístup v černé skříni, mají programy typu model-view-controller tendenci být o něco pružnější, ačkoli některé implementace mohou způsobit, že se program MVC obtížně modulárně mění nebo ladí.

V některých případech nemusí vzorec-model-view-controller obsahovat pouze jednu z každé komponenty. Jedním příkladem je aplikace, která má více pohledů, například více monitorů, nebo displej, který lze vidět na několika klientských zařízeních. V aplikaci, která umožňuje mnoha uživatelům přístup k databázi, lze použít více pohledů a řadičů, vše odpovídá jednomu modelu. Je však běžnější navrhovat systémy, které udržují poměr mezi jednotlivými částmi komponentů model-pohled-kontroler.

I když se komponenty řadičů modelu a pohledu navzájem spoléhají, může být mnohem snazší modifikovat určité části systému, které používají vzor MVC, než kdyby se žádný vzor nepoužíval vůbec, zejména v případě objektově ne orientovaného aplikace. Pokud aplikace používá k implementaci interakcí mezi součástmi zpětná volání nebo posluchače a pozorovatele, lze každou součást změnit bez ovlivnění ostatních dvou. To znamená, že nové GUI by mohlo být implementováno bez ovlivnění modelu nebo řadiče. Je však třeba poznamenat, že zásadní změny v systému kontroléru zobrazení modelu mohou vyžadovat určité malé množství překódování pro každou jednotlivou součást.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?