MVC проти MVP
Контролер перегляду моделі (також відомий як MVC) - це шаблон архітектурного характеру, який використовується спеціально в інженерній програмі. Цей конкретний шаблон використовується для виділення того, що відомо як "логіка домену" - що є просто логікою програми для користувача. Він ізольований від введення та презентації (відомий як GUI) і дозволяє самостійно розвиватися.
Model View Presenter (також відомий як MVP) - це пряма перестановка MVC. Це програмний зразок (точніше, шаблон дизайну користувальницького інтерфейсу), розроблений спеціально для полегшення тестування автоматизованих підрозділів та вдосконалення того, що називається розділенням проблем в логіці презентації. Розділення проблем - це, в основному, процес, за допомогою якого комп'ютерна програма розділяється на різні функції, які не перетинаються, з точки зору їх функціонування..
Частина моделі MVC є, по суті, схемою, яка представляє дані через конкретні домени, дані, які використовуються для того, щоб програма могла працювати. Частина перетворення перетворює модель у взаємодію, придатну для користувачів - це зазвичай елемент інтерфейсу користувача. Нарешті, частина контролера найбільш влучно приймає вхід. Приймаючи рішення щодо об'єктів, знайдених у моделі, контролер служить каталізатором реакції.
Частина моделі MVP визначає дані, які мають відображатися (або діяти) у користувальницькому інтерфейсі. Розділ перегляду відображає дані, визначені в моделі, і надсилає ведучому команди (відомі як події) для презентатора (який буде діяти на ці дані). Тоді ведучий діє на модель та вигляд моделі. Таким чином, він здатний отримувати дані з сховищ (знайдені в моделі), продовжуючи дані та форматуючи їх, щоб вони могли легко відображатися у поданні.
Існують різні варіанти MVC. Таким чином, потік управління відбувається в дуже суворому порядку: Спочатку користувач взаємодіє з інтерфейсом (наприклад, натискаючи кнопку миші), а потім контролер піклується про події введення та змінює його на відповідна дія користувача. Далі контролер повідомляє модель про те, що зробив користувач, що, швидше за все, призведе до зміни моделі свого стану (наприклад, оновлення). Тоді представлення задає питання моделі для створення інтерфейсу користувача. Нарешті, інтерфейс користувача чекає інструкцій, які перезапустять цикл.
Підсумок:
1. MVC - це архітектурна схема, яка ізолює логіку домену; MVP - це нащадок MVC, призначений допомогти випробувати автоматизовані підрозділи та покращити розділення проблем.
2. Що стосується MVC, модель представляє дані, вид перетворює модель у взаємодію з користувачем, а контролер отримує вхід; що стосується MVP, модель визначає дані, вигляд відображає їх, а ведучий діє на модель та її погляд.