Общие принципы проектирования
При проектировании слоя представления необходимо учесть несколько основных факторов.
Чтобы создаваемая конструкция гарантированно отвечала требованиям приложения, следуйте
лучшим практикам и руководствуйтесь такими принципами:
Выбирайте соответствующий тип приложения. От выбранного типа приложения
будут существенно зависеть доступные варианты реализации слоя представления.
Определитесь, будете ли вы реализовывать насыщенный (смарт) клиент, Веб-
клиент или насыщенное Интернет-приложение (rich Internet application, RIA).
Решение должно приниматься на основании требований, предъявляемых к
приложению, и ограничений, накладываемых организацией или средой. Более
подробно основные архетипы приложения, их преимущества и недостатки
рассматриваются в главе 20, «Выбор типа приложения».
Выбирайте соответствующую технологию UI. Разные типы приложений
обеспечивают разные наборы технологий для разработки слоя представления.
Каждый тип технологии обладает индивидуальными преимуществами, которые
определяют возможность создания соответствующего слоя представления.
Технологии, доступные для каждого типа приложений, рассматриваются в
приложении А, «Матрица технологий слоя представления».
Используйте соответствующие шаблоны. Шаблоны слоя представления (их список
приводится в конце данной главы) предлагают проверенные решения обычных
проблем, возникающих при проектировании слоя представления. Помните, что не
все шаблоны применимы в равной степени ко всем архетипам, но общий шаблон
Separated Presentation, в котором аспекты, касающиеся представления, отделены от
базовой логики приложения, подходит для всех типов приложений. Специальные
шаблоны, такие как MVC, MVP и Supervising Presenter, обычно используются в слое
представления насыщенных клиентских приложений и RIA. Разновидности
шаблонов Model-View-Controller (MVC) и Model-View-Presenter (MVP) могут
применяться в Веб-приложениях.
Разделяйте функциональные области. Используйте специальные компоненты UI
для формирования визуального представления, отображения и взаимодействия с
пользователем. В сложных случаях, или если хотите обеспечить возможность
модульного тестирования, обратите внимание на специальные компоненты логики
представления для управления обработкой взаимодействия с пользователем.
Также применение специальных сущностей представления позволит представлять
бизнес-логику и данные в форме, удобной для использования компонентами UI и
логики представления. Сущности представления инкапсулируют бизнес-логику и
данные бизнес-слоя в рамках слоя представления и используют их во многом так
же, как используются бизнес-сущности в бизнес-слое. Разные типы компонентов
слоя представления более подробно рассматриваются в главе 11, «Проектирование
компонентов представления».
Учитывайте рекомендации по проектированию пользовательского интерфейса.
При проектировании слоя представления придерживайтесь рекомендаций своей