Loading...

Какво е Model-View-Controller?

avatar Георги Кацаров 2 минути 1618
Какво е Model-View-Controller?

„Model-view-controller“ (за по-кратко „MVC”) е архитектурен шаблон, който най-често се използва при създаването на потребителски интерфейс. Той „разделя“ приложението на три взаимосвързани части. Това е направено с цел да се раздели вътрешното представяне на информация от начините по които информацията се представя на и приема от потребителя. MVC шаблонът разделя тези главни компоненти, което позволява на разработчиците да използват отново вече написан код по-ефективно, а също така позволява и паралелна разработка.

Традиционно MVC шаблонът се използва за графични потребителски интерфейси (Graphical User Interface – GUI), но вече той се използва както и за уеб приложения, така и за мобилни такива, а дори и за други типове клиенти.

Компоненти на MVC шаблона

Както личи от името “Model-View-Controller”, шаблонът се състои от три отделни компонента, които изпълняват определена роля и са свързани в определена последователност.

Моделът (Model)“ е централен компонент в шаблона. Това динамичната структура от данни на приложението, независима от потребителския интерфейс. Моделът управлява данните, логиката и правилата на приложението.

Изгледът (View)“ е изходящият поток от информация (това, което приложението изпраща като отговор до дисплея, респективно – до потребителя, в следствие на неговата заявка). Възможни са няколко различни изгледа на една и съща информация, като например различни диаграми за мениджмънт на даден ресурс или различни таблици.

Контролерът (Controller)“ е третата част от този шаблон. Той приема потребителския вход (т.е. данните, които потребителя въвежда, неговите заявки и т.н.) и ги преобразува в команди към модела или изгледа.

Предимства на MVC

Тъй като MVC разделя основните компоненти на приложението, това позволява на разработчиците да работят паралелно по различни компоненти, без да оказват влияние или да си пречат един на друг. Например един дев екип може се раздели на две части, като едната поема изграждането на back-end логиката, а другата – на front-end частта. Back-end разработчиците проектират структурата на данните и как потребителят взаимодейства с тях, без да се нуждаят от потребителски интерфейс (front-end), за да тестват и усъвършенстват тези аспекти на приложението. Обратно – front-end разработчиците могат да проектират и тестват изгледа на приложението, преди да имат готова структура от данни, с която той да борави.

Създавайки компоненти, които са независими едни от други, разработчиците могат да използват многократно един компонент в различни приложения. Изгледът на едно приложение може да се преработи бързо и лесно за друго сходно приложение, което борави с коренно различна структура от данни; моделът който обработва данните и който представлява цялостната структура е отделен компонент спрямо изгледа и това дава свобода на разработчиците да използват наново един и същи код, според нуждите си.

Ако искате да се научите да изграждате съвременни уеб приложения с архитектурния шаблон Model-View-Controller, не пропускайте да запишете курса „C# MVC Frameworks - ASP.NET Core“. Това е най-добрата възможност за вас. Очакваме ви!

Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.