существует ряд общих подходов, обеспечивающих создание хорошей архитектуры слоя
представления и его взаимодействия с сервисами на сервере. Многие из них основываются на
общеизвестных шаблонах проектирования, которые способствуют построению приложения из
отдельных компонентов. Это обеспечивает сокращение зависимостей, упрощение
обслуживания и тестирования, а также более широкие возможности повторного
использования.
Многослойному дизайну посвящена глава 5, «Рекомендации по проектированию
многослойных приложений». Компоненты, используемые в каждом слое, более подробно
рассматриваются в главе 10, «Рекомендации по проектированию компонентов».
Общие принципы проектирования
Представленные далее рекомендации касаются нескольких аспектов, которые должны быть
учтены при проектировании RIA, и помогут обеспечить эффективную работу приложения в
общих для RIA сценариях и соответствие выдвигаемым требованиям:
Выбирайте RIA, исходя из предполагаемой аудитории, насыщенного интерфейса
и простоты развертывания. Создавайте RIA, если целевая аудитория использует
браузер, поддерживающий RIA. Если часть целевой аудитории работает с
браузером, не поддерживающим RIA, рассмотрите возможность ограничения
номенклатуры доступных для выбора браузеров только поддерживаемой версией.
Если влиять на выбор браузера нет возможности, подумайте, достаточно ли велика
неохватываемая аудитория, чтобы выбирать другой тип приложения, такой как Веб-
приложение, использующее AJAX. Если клиенты имеют надежное сетевое
соединение, развертывать и обслуживать RIA настолько же просто, как и Веб-
приложение. Реализации RIA прекрасно подходят для Веб-сценариев, в которых
требования, предъявляемые к визуализации, превышают возможности,
обеспечиваемые базовым HTML. RIA обеспечивают более устойчивое поведение и
требуют менее развернутого тестирования в поддерживаемых браузерах по
сравнению с Веб-приложениями, использующими расширенные функции и код.
Реализации RIA также идеально подходят для приложений, работающих с
потоковыми мультимедиа. Они не так хороши для сверхсложных многостраничных
UI.
Используйте Веб-инфраструктуру посредством сервисов. Реализациям RIA
необходима такая же инфраструктура, что и Веб-приложениям. Как правило, вся
обработка RIA и также взаимодействие с другими сетевыми сервисами (для
сохранения данных в базе данных, например) выполняются на клиенте.
Используйте вычислительные мощности клиента. RIA выполняются на клиентском
компьютере и могут использовать все доступные на нем вычислительные
мощности. По возможности максимально перенесите функциональность на клиент,
это позволит улучшить взаимодействие с пользователем. Однако особо важные
бизнес-правила должны выполняться на сервере, поскольку проверка на клиенте
может быть сфальсифицирована.