2015-07-19 3 views
1

Я читаю о архитектуре MVC. Я понимаю, что Modal удерживает логическую часть, просматривает элемент HTML и контроллер, взаимодействуя между представлением и модальным. Но использование контроллера меня подтачивает. Почему это действительно необходимо в MVC. Почему мы не можем общаться с Modal прямо из представления.Использование контроллера в MVC

+1

контроллер как один взаимодействует с моделью/зрения, например, контроллер управляет мышью, сенсорным или клавиатурным входом в mvc. –

+1

Подумайте о том, что контроллер, как быть боссом, говорит на складе (модели), что нужно вытащить, чтобы поставить на демонстрационный зал (вид). Затем обрабатывать продажи (взаимодействие с пользователем) и обновлять регистры (модель). Кто-то должен быть ответственным и управлять магазином! – charlietfl

ответ

1

Это связано с концепцией свободной связи. MVC - это не единственный объектно-ориентированный метод проектирования, но он популярен, потому что он позволяет больше использовать объект повторно.

Предположим, что простой пример - веб-сайт, отображающий информацию об успеваемости студента, включая некоторые аналитики.

  • вид является передний конец пользовательского интерфейса отображается пользователю. Может быть JSP, CSHTML или другой формат.
  • модель - это структура данных, составляющая студент. Например, вы можете использовать двоичное дерево поиска для хранения учащихся или превратить его в очередь приоритетов, чтобы учащийся с высшим классом в классе/школе всегда находился в корне. В своей самой базовой модели модель представляет ваши данные и является уровнем, обеспечивающим интерфейс между вашей базой данных (или плоскими файлами) и вашим приложением.
  • Теперь мы можем думать о студенте как о студенте класса. Этот класс будет содержать как поведение, так и атрибуты, которые составляют наше представление о том, что такое ученик.
  • Контроллер будет классом StudentController и будет вести переговоры о взаимодействии между классом Student и представлением. Это уровень обмена сообщениями или общения, который служит интерфейсом между моделью и представлением.

Если мы думаем о уровневой архитектуре, это будет выглядеть следующим образом

|. .. View (верхний слой)
|. .. контроллер (средний слой)
|. .. Модель (интерфейс ч/б данные и приложения)
▼ База данных или плоские файлы (где хранятся данные)

несколько ресурсов, чтобы вы начали, в том числе аналогичных вопросов:
- What is "loose coupling?" Please provide examples
- What is MVC (Model View Controller)?
- https://docs.angularjs.org/guide/controller

Смежные вопросы