Главная страница   /   5. Модели представлений (ASP.NET MVC 4 в действии

ASP.NET MVC 4 в действии

ASP.NET MVC 4 в действии

Джеффри Палермо

5. Модели представлений

В этой главе рассматриваются:

  • Представление концепций пользовательского интерфейса в коде
  • Определение презентационной модели
  • Представление пользовательского ввода
  • Создание сложных сценариев

В первой части этой книги были рассмотрены общие понятия и концепции, теперь же мы начнем разбирать конкретные темы в деталях. В этой главе мы рассмотрим модели, а именно методы проектирования моделей для ASP.NET MVC. При изучении шаблона Model-View-Controller концепция модели является наиболее трудной, главным образом потому, что "модель" - перегруженный термин. Он может принимать разные значения в разных контекстах, что может сбить с толку и затруднить понимание того, как модели соотносятся с контроллерами и представлениями.

Модель – это репрезентация чего-то значимого. Это не обязательно что-то физическое, но нечто реальное, как, к примеру, бизнес-концепция или API. При работе с объектно-ориентированными языками (такими, как C #), вы создаете классы, которые описывают эти репрезентации. Создание таких репрезентаций позволяет вам использовать более «естественный» язык для записи кода, вместо того, чтобы преобразовывать вводимые данные в двоичный код.

В основе многих приложений лежит доменная модель (domain model), которая представляет ключевые понятия системы. К примеру, доменная модель интернет-магазина состоит из классов Продукт, Заказ и Клиент, содержит данные об этих классах и бизнес-правила, которые описывают отношения между ними.

Было бы удобно использовать такую модель как основу, чтобы, опираясь только на нее, выстроить пользовательский интерфейс, и задать бизнес-правила. Однако этот подход может быть применен только для некоторых приложений (как правило, небольших приложений с простыми доменными моделями), и заведет в тупик при разработке более сложных приложений, в которых потребности пользовательского интерфейса не соответствуют потребностям бизнес-логики. Такой конфликт интересов может привести к разработке чрезмерно сложного и неудобного в обслуживании программного обеспечения.

Решением этой проблемы являются модели представлений (view, or presentation model), которые необходимы для упрощения логики представления пользовательского интерфейса. В этой главе мы рассмотрим презентационные модели, а также модели ввода, которые используются для передачи данных от пользовательского интерфейса к контроллерам.

5.1. Что такое модель представления?

5.2. Представление пользовательского ввода

5.3. Более сложные модели для представления и ввода

5.4. Резюме