Що таке mvc і для чого він потрібен

Що таке MVC і для чого він потрібен?

Що таке mvc і для чого він потрібен

1 Що таке MVC?

Model-view-controller (MVC, «модель-вид-контролер») - схема використання декількох шаблонів проектування, за допомогою яких модель даних програми, призначений для користувача інтерфейс і взаємодія з користувачем розділені на три окремих компонента. Таким чином, щоб модифікація одного з компонентів надавала мінімальний вплив на інші. Дана схема проектування часто використовується для побудови архітектурного каркаса, коли переходять від теорії до реалізації в конкретній предметній області.

2 Model (Модель)

3 View (Вид)

Вид забезпечує різні способи представлення даних, які отримані з моделі. Він може бути шаблоном, який заповнюється даними. Може бути кілька різних видів, і контролер вибирає, який підходить якнайкраще для поточної ситуації.

Веб додаток зазвичай складається з набору контролерів, моделей і видів. Контролер може бути влаштований як основний, який отримує всі запити і викликає інші контролери для виконання дій в залежності від ситуації.

4 Controller (Контролер)

До завдань Контролера входить реакція на зовнішні подразники і зміна Моделі і / або Подання відповідно до закладеної в нього логікою. Один Контролер може працювати з декількома Уявленнями, в залежності від ситуації, взаємодіючи з ними через якийсь заздалегідь відомий інтерфейс, який ці Уявлення реалізують. Важливий нюанс, в класичній версії MVC Контролер не займається передачею даних з Моделі в Представлення і не є медіатором (Mediator) між Моделлю і Уявленнями.

5 Призначення

Основна мета застосування цієї концепції полягає в поділі бізнес-логіки (моделі) від її візуалізації (уявлення, виду). За рахунок такого поділу підвищується можливість повторного використання. Найбільш корисне застосування даної концепції в тих випадках, коли користувач повинен бачити ті ж самі дані одночасно в різних контекстах і / або з різних точок зору. Зокрема, виконуються наступні завдання:

  • До однієї моделі можна приєднати кілька видів, при цьому не зачіпаючи реалізацію моделі. Наприклад, деякі дані можуть бути одночасно представлені у вигляді електронної таблиці, гістограми і кругової діаграми.
  • Не торкаючись реалізацію видів, можна змінити реакції на дії користувача (натискання мишею на кнопці, введення даних), для цього досить використовувати інший контролер.
  • Ряд розробників спеціалізується тільки в одній з областей: або розробляють графічний інтерфейс, або розробляють бізнес-логіку. Тому можливо добитися того, що програмісти, які займаються розробкою бізнес-логіки (моделі), взагалі не будуть обізнані про те, яке уявлення буде використовуватися.

цікаве

Схожі статті