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

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

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

Преобразование с AutoMapper

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

  • Общие сведения и настройка AutoMapper
  • Соглашения по тестированию
  • Применение средств форматирования для устранения дублированного кода
  • Сокращение разметки только для презентации
  • Устранение сложности представления

В предыдущей главе мы обсуждали механизмы связывания данных и провайдеры значений - компоненты платформы, которые мы можем эффективно использовать для формирования входных данных. Теперь мы сосредоточимся на формировании выходных данных - моделей представлений, которые управляют нашими представлениями. В главе 5 мы видели, как модель представления для определенного экрана позволяет создавать чистую, легко поддерживаемую разметку. Логический бизнес-объект должен отражать бизнес-проблемы и так далее. Вопрос в том, как обеспечить коммуникацию всех этих разрозненных элементов, каждый из которых имеет свою цель.

Мартин Фаулер, автор книги Patterns of Enterprise Application Architecture, описывает на своем сайте базовый шаблон под названием Mapper. Он пишет: "Иногда необходимо установить связь между двумя подсистемами, которые не должны знать друг о друге. Так происходит, когда вы не можете изменить их или можете, но не хотите создавать зависимости между ними". Мы будем использовать шаблон Mapper, чтобы обеспечить коммуникацию наших элементов. Дополнительную информацию о шаблоне Mapper можно найти по адресу http://martinfowler.com/eaaCatalog/mapper.html.

Открытая библиотека AutoMapper представляет собой соответствующее соглашению средство объектно-объектного преобразования. Она принимает исходные объекты одного типа и преобразует их в объекты другого типа. Это полезно в разных контекстах - преобразование объектов данных в бизнес-объекты или бизнес-объектов в сообщения – везде, где может быть использован базовый шаблон Фаулера Mapper. Мы будем использовать его для преобразования из доменной модели в объекты моделей, которые выводят наши представления - модели презентации.

Мы называем библиотеку «соответствующей соглашению», поскольку она не зависит от настройки преобразования каждого элемента данного типа, а полагается на шаблоны именования и настраиваемые значения по умолчанию. Вы можете просмотреть код и документацию на сайте AutoMapper: http://automapper.org/.

Жизнь до AutoMapper

Что такое AutoMapper

Основы AutoMapper

Резюме

или RSS канал: Что новенького на smarly.net