| Model-View-Controller |
Паттерн Model-View-Controller (MVC, модель-представление-поведение) - подразумевает такую архитектуру программного
обеспечения, которая реализует модель данных приложения, пользовательский интерфейс и управляющую логику как отдельные компоненты. Изменение одного из компонентов
должно оказывать минимальное влияние на другие компоненты.
С выходом Visual Studio 2008, Microsoft еще больше начала интегрировать паттерн Model-View-Controller в архитектуру
своих программных решений. Потому шаблон MVC может стать мощным инструментом для разработчиков веб-приложений с
использованием C# и ASP .NET
Рассмотрим основные функции каждого компонента:
- Model - модель предоставляет данные, а также изменяет свое состояние реагируя на запросы (от контроллера).
- View - представление отвечает за пользовательский интерфейс.
- Controller - поведение обрабатывает данные, которые ввел пользователь, и информирует модель и представление о необходимости соответствующей реакции.
Ключевым достоинством данного подхода является то, что фактически, модель работы с данными может быть полностью отделена от представления и контроллера.
А представление и контроллер в свою очередь могут корректироваться под различные модели работы с данными.
Если рассмотреть функциональность каждого элемента в контексте реального применения в C# и ASP.NET, то:
Модель:
Представляет собой класс для работы с данными, который будет выполнять функции получения данных от источника, обработки, конвертирования, выделения части данных со всего
набора. Модель должна реализовать логически завершенные операции с информацией и предоставлять готовые наборы данных по требованию.
Представление:
Представление реализует всю функциональность по отображению. В том числе контролирует как выводятся данные, как отображается текст, как размещены контролы.
Отвечает за введенные данные от пользователя и т.д.
Контроллер:
Являетса неким связующим звеном между Моделью работы с данными и Представлением. Его назначение - создавать двустороннюю связь между различными моделями данных
и представлением данных пользователю. Контроллер должен принимать в своем конструкторе конкретную Модель и Представление, чтобы через открытые интерфейсы правильно
наладить работу этих двух компонентов.
При правильном и грамотном использовании шаблона Model-View-Controller, можно получить гибкую архитектуру, которая будет стойкой к изменению
источников данных, пользовательских интерфейсов и внутренней архитектуре.
Версия для печати |
|