„Здрасти, Амиго!“

„Здравей, Билаабо!“

„Ти вече си солиден програмист. И така, днес ще имаме урок по MVC.“

"MVC означава ModelViewController . Това е архитектурен модел за проектиране на големи applications, където приложението е разделено на три части."

"Първата част съдържа цялата бизнес логика на приложението . Тази част се нарича модел . Тя съдържа codeа, който прави всичко, за което е създадено приложението. Тази част е най-малко зависима от останалите."

„Втората част съдържа всичко, свързано с показването на данни на потребителя . Тази част се нарича изглед . Съдържа codeа, който контролира показването на прозорци, страници, съобщения и т.н.“

„Третата част съдържа codeа, който обработва потребителските действия . Всички потребителски действия, предназначени да променят модела, трябва да се обработват тук. Тази част се нарича   контролер .“

„Този ​​подход ви позволява да създадете три неща независимо:  логиката на програмата (модела) , механизма за показване на данните на програмата на потребителя (изгледа) и манипулатора за въвеждане/действия на потребителя (контролера) .“

„Приложенията често имат няколко изгледа . Това е нормално. Можете да преглеждате същите данни в Excel като числа и диаграми. В игрите можете да преглеждате събития от изглед от първо лице, трето лице or карта, Howто и много други . Всичко това са различни изгледи за един модел ."

„Целият code, който решава Howво да промени в модела в отговор на действията на потребителя, се събира в контролера . Например, ако потребителят реши да затвори програмата, тогава трябва да запишете данните на модела във файл на диск. Или ако потребителят въведе нови данни, тогава трябва да ги добавите към модела. След това моделът ще уведоми всички изгледи за промените в данните, така че те показват само текущото състояние на данните."

— Кажи го пак.

„От гледна точка на Java разработчик, можем да кажем, че моделът, изгледът и контролерът са три групи класове, където:“

" а)  всяка част има свое преднаmeaning;"

" б)  връзките между класовете на една група са много силни;"

" в)  връзките между групите са много слаби;"

" г)  начините, по които частите комуникират помежду си, са силно регулирани."

„И ето друг начин да си го представим:

MVC - 1

„Моделът е най-независимата част от системата . Не зависи от изгледа or контролера. Моделът не може да използва класове от изгледа or групите контролери(!).“

„Основното ограничение на изгледа е , че не може да промени модела . Класовете на изглед могат да имат достъп до модела за данни or да се абонират за събития, но класовете на изглед не могат да променят модела.“

„Основното ограничение на контролера е, че той не показва данни . Контролерът обработва действията на потребителя и съответно модифицира модела.“

— Но защо ми трябва това?

„Фактът, че не използвате това в момента, не означава, че няма да използвате това в близко бъдеще. Тук сте, за да учите, за да си намерите работа. И дори това знание да не се окаже полезно, докато учене, определено ще бъде полезно, докато работите."

„В края на краищата тепърва ви очакват реални проекти и интервюта...“

„Сега сме тук и си говорим заедно, но може би след месец вече ще работиш.“

„Напълно си прав, Билаабо. Ще те изслушам внимателно.“

„Моделът MVC е много често срещан в архитектурата на applicationsта. Трябва да го знаете, за да не започнете внезапно да добавяте класове за изглед към модела, защото смятате, че това е по-удобно.“

„Най-важното нещо във всеки проект е неговата архитектура.  Вашата задача на този етап не е толкова да можете да създадете добра архитектура, колкото е да се научите да разбирате чуждата. Все пак ще трябва да растете няколко години, преди да създадете свой собствен. Но трябва да разберете Howво са създали други хора. Веднага."

„Когато едно приложение използва стандартна архитектура, всичко става много по-ясно. Познавайки архитектурата, вие знаете къде са нещата, How всичко си взаимодейства, приблизително How работи програмата, къде да добавите необходимия клас и къде да търсите причината за буболечка."

"Но ако не сте запознати със стандартните подходи към архитектурата, тогава дори и най-добрата архитектура няма да ви каже нищо. Ще бъдете като селянин от средновековието, който гледа нова кола. Стандартна кола."

— Разбирам. Благодаря за интересния урок, Билаабо.

„Най-накрая, ето една добра връзка, която определено трябва да проверите:“

Линк към допълнителен материал