В полето за уеб разработка, Model-View-Controllerе един от най-обсъжданите в света на уеб програмирането днес. MVC Architecture първоначално беше включен в двете основни рамки за уеб разработка - Struts и Рубин на релси . В тази статия нека разгледаме малко за MVC Architecture в .
Темите, които ще бъдат разгледани в тази статия, са както следва:
- Какво е MVC архитектура в Java?
- Предимства на MVC архитектурата
- Демонстрация: Внедряване на MVC с помощта на Java
Преди да всъщност gВ техническите аспекти на MVC Architecture има някои концепции, които трябва да знаете.
- Шаблон за дизайн , в софтуерното инженерство, е техника за решаване на често срещан проблем при проектирането на софтуер.
- Проектиране на модел, указва какъв тип архитектура използвате, за да разрешите проблема или да проектирате модела.
- Има два видове дизайнерски модели : Модел 1 Архитектура , Архитектура на модел 2 (MVC).
Какво е MVC архитектура в Java?
Моделните дизайни, базирани на MVC архитектура, следват MVC и те отделят логиката на приложението от потребителския интерфейс, когато проектират софтуер. Както подсказва името, моделът на MVC има три слоя, които са:
- Модел - Представлява бизнес слоя на приложението
- Изглед - Определя представянето на приложението
- Контролер - Управлява потока на приложението
В контекста на програмирането на Java,Моделът се състои от прости Java класове , изгледът показва данните и контролерът се състои от . Това разделяне води до обработка на потребителски заявки, както следва:
- Браузърът на клиента изпраща заявка за страница до контролера, присъстващ на сървъра
- Контролерът извършва действието по извикване на модела, като по този начин извлича данните, от които се нуждае в отговор на заявката
- След това контролерът дава извлечените данни на изгледа
- Изгледът се изобразява и изпраща обратно на клиента, за да се покаже браузърът
Разделяне на софтуерно приложение втези три различни компонента е добра идея поради редица причини. Нека да разгледаме какви са те.
Предимства на MVC архитектурата в Java
MVC архитектурата предлага много предимства за програмист при разработването на приложения, които включват:
- Множество разработчици могат да работят едновременно с трите слоя (модел, изглед и контролер)
- Подобрени оферти мащабируемост , което допълва способността на приложението да расте
- Тъй като компонентите имат ниска зависимост един от друг, те са лесни за поддръжка
- Моделът може да се използва повторно от множество изгледи, което осигурява повторна употреба на кода
- Приемането на MVC прави приложението по-изразително и лесно за разбиране
- Разширяването и тестването на приложението става лесно
Сега знаете защо MVC е най-популярен в света на уеб програмирането. Но ако все още се мъчите да разберете идеята за MVC, не се притеснявайте. Ще разровим дълбоко във всеки от тези слоеве и ще научим тяхната цел с помощта на .
Внедряване на MVC с помощта на Java
За да приложим уеб приложение, базирано на модел на дизайн на MVC, ние ще създадем
- Курс на курса , който действа като модел слой
- CourseView Class , който дефинира презентационния слой ( изглед слой )
- CourseContoller Class , който действа като a контролер
Сега, нека изследваме тези слоеве един по един.
Моделният слой
В модела за проектиране на MVC, модел е слоят от данни, който дефинира бизнес логиката на системата и също така представя състоянието на приложението.Моделът обекти извличане и съхраняване на състоянието на модела в база данни. Чрез този слой ние прилагаме правила към данните, които в крайна сметка представляват концепциите, които нашето приложение управлява. Сега нека създадем модел, използвайки Курс на курса.
пакет MyPackage публичен клас Course {private String CourseName private String CourseId private String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} public void setName (Име на низ) {this.CourseName = name} публичен низ getCategory () {return CourseCategory} public void setCategory (категория на низа) {this.CourseCategory = category}}
Кодът е лесен за разбиране и е обяснителен сам по себе си. Състои се от функции за получаване / задаване на подробности за курса.
Изгледният слой
Този слой от шаблона за проектиране на MVC представлява изхода на приложението или потребителския интерфейс. Той показва данните, извлечени от моделния слой от контролера и представя данните на потребителя, когато е поискано. Азt получава цялата необходима информация от контролера и не е необходимо да взаимодейства директно с бизнес слоя.Нека създадем изглед с помощта CourseView Class.
пакет MyPackage публичен клас CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Подробности за курса:) System.out.println (' Name: '+ CourseName) System.out.println ('Идентификатор на курса:' + CourseId) System.out.println ('Категория на курса:' + CourseCategory)}}
Този код епросто да отпечатате стойностите в конзолата. След това имаме контролера на уеб приложението.
Слоят на контролера
Контролерът е като интерфейс между модел и изглед. Той получава потребителските заявки от изгледа и ги обработва, включително необходимите проверки. След това заявките се изпращат до модел за обработка на данни. След като бъдат обработени, данните отново се изпращат обратно към контролера и след това се показват в изгледа.Нека създаваме CourseContoller Class който действа като контролер.
пакет MyPackage публичен клас CourseController {частен модел на курса частен CourseView изглед обществен CourseController (модел на курса, изглед CourseView) {this.model = model this.view = view} public void setCourseName (String name) {model.setName (name)} public String getCourseName () {return model.getName ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String category) {model.setCategory (category)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}
Бегъл поглед към кода ще ни каже, че този клас контролер е само отговорен за извикването на модела за получаване / задаване на данните и актуализиране на изгледа въз основа на това. Сега некапогледнете как всички те са свързани помежду си.
Основен клас Java
Нека наречем този клас „MVCPatternDemo.java“. Вижте кода по-долу.
пакет MyPackage публичен клас MVCPatternDemo {public static void main (String [] args) {// извлечете студентски запис въз основа на неговия рол не от базата данни Course model = retriveCourseFromDatabase () // Създайте изглед: за да напишете подробности за курса в конзолата CourseView view = new CourseView () CourseController controller = new CourseController (model, view) controller.updateView () // update model data controller.setCourseName ('Python') System.out.println ('nСлед актуализиране подробностите за курса са както следва') controller.updateView ()} частен статичен Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return return}}
Горният класизвлича данните за курса от използвайки кой потребител въвежда набора от стойности. След това тласка тези ценности в модела на курса. След това инициализира изгледа, който сме създали по-рано в статията.Освен това той се позовава на CourseController клас и го обвързва с Разбира се клас и CourseView клас. The updateView () метод, който е част от контролера, след това актуализира подробностите за курса на конзолата. Вижте изхода по-долу.
Изход
как да обърнете номера в java -
Подробности за курса: Име: Java ID на курса: 01 Категория на курса: Програмиране След актуализиране подробностите за курса са както следва: Подробности за курса: Име: Python ID на курса: 01 Категория на курса: Програмиране
Архитектурата на MVCосигурява изцяло ново ниво на модулност на вашия код, което го прави много по-четлив и поддържаем. Това ни води до края на тази статия.Надявам се, че сте наясно с всичко споделено с вас.
Уверете се, че практикувате възможно най-много и връщате опита си.
Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, ние измисляме учебна програма, която е предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази „MVC архитектура в Java“ статия и ние ще се свържем с вас възможно най-скоро.