Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП / ООП / ры_приложений_полная_книга.pdf
Скачиваний:
500
Добавлен:
18.02.2017
Размер:
7.08 Mб
Скачать

6

Рекомендации по проектированию слоя представления

Обзор

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

Слой представления содержит компоненты, реализующие и отображающие пользовательский интерфейс, а также управляющие взаимодействием с пользователем. Этот слой, кроме компонентов, организовывающих взаимодействие с пользователем, включает элементы управления для ввода данных пользователем и их отображения. На рис. 1 показано место слоя представления в общей архитектуре приложения.

Рис. 7

Слой представления в типовом приложении и компоненты, которые он может включать

Слой представления обычно включает следующие компоненты:

Компоненты пользовательского интерфейса. Это визуальные элементы приложения, используемые для отображения данных пользователю и приема пользовательского ввода.

Компоненты логики представления. Логика представления – это код приложения, определяющий поведение и структуру приложения и не зависящий от конкретной реализации пользовательского интерфейса. При реализации шаблона Separated Presentation могут использоваться следующие компоненты логики представления: Презентатор (Presenter), Модель презентации (Presentation Model) и Модель Представления (View Model). Слой представления также может включать компоненты Модели слоя представления (Presentation Layer Model), которые инкапсулируют данные бизнес-слоя, или компоненты Сущности представления (Presentation Entity), которые инкапсулируют бизнес-логику и данные в форме, удобной для использования слоем представления.

Подробно компоненты, обычно применяемые в слое представления, рассматриваются в главе 10, «Рекомендации по проектированию компонентов». Проектированию компонентов слоя представления посвящена глава 11, «Проектирование компонентов представления».

Общие принципы проектирования

При проектировании слоя представления необходимо учесть несколько основных факторов. Чтобы создаваемая конструкция гарантированно отвечала требованиям приложения, следуйте лучшим практикам и руководствуйтесь такими принципами:

Выбирайте соответствующий тип приложения. От выбранного типа приложения будут существенно зависеть доступные варианты реализации слоя представления. Определитесь, будете ли вы реализовывать насыщенный (смарт) клиент, Вебклиент или насыщенное Интернет-приложение (rich Internet application, RIA). Решение должно приниматься на основании требований, предъявляемых к приложению, и ограничений, накладываемых организацией или средой. Более подробно основные архетипы приложения, их преимущества и недостатки рассматриваются в главе 20, «Выбор типа приложения».

Выбирайте соответствующую технологию UI. Разные типы приложений обеспечивают разные наборы технологий для разработки слоя представления. Каждый тип технологии обладает индивидуальными преимуществами, которые определяют возможность создания соответствующего слоя представления. Технологии, доступные для каждого типа приложений, рассматриваются в приложении А, «Матрица технологий слоя представления».

Используйте соответствующие шаблоны. Шаблоны слоя представления (их список приводится в конце данной главы) предлагают проверенные решения обычных проблем, возникающих при проектировании слоя представления. Помните, что не все шаблоны применимы в равной степени ко всем архетипам, но общий шаблон Separated Presentation, в котором аспекты, касающиеся представления, отделены от базовой логики приложения, подходит для всех типов приложений. Специальные шаблоны, такие как MVC, MVP и Supervising Presenter, обычно используются в слое представления насыщенных клиентских приложений и RIA. Разновидности шаблонов Model-View-Controller (MVC) и Model-View-Presenter (MVP) могут применяться в Веб-приложениях.

Разделяйте функциональные области. Используйте специальные компоненты UI для формирования визуального представления, отображения и взаимодействия с пользователем. В сложных случаях, или если хотите обеспечить возможность модульного тестирования, обратите внимание на специальные компоненты логики представления для управления обработкой взаимодействия с пользователем. Также применение специальных сущностей представления позволит представлять бизнес-логику и данные в форме, удобной для использования компонентами UI и логики представления. Сущности представления инкапсулируют бизнес-логику и данные бизнес-слоя в рамках слоя представления и используют их во многом так же, как используются бизнес-сущности в бизнес-слое. Разные типы компонентов слоя представления более подробно рассматриваются в главе 11, «Проектирование компонентов представления».

Учитывайте рекомендации по проектированию пользовательского интерфейса.

При проектировании слоя представления придерживайтесь рекомендаций своей

Соседние файлы в папке ООП