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

Модель-представление-контроллер

Шаблон Model-View-Controller (MVC) — это широко используемый архитектурный шаблон в разработке программного обеспечения, особенно в разработке веб-приложений.

  • Модель представляет данные и определяет, как они хранятся и обрабатываются.
  • Вид отображает данные из модели и предоставляет пользователю способ взаимодействия с приложением.
  • Контроллер получает ввод от пользователя через представление, обрабатывает ввод пользователя, взаимодействуя с моделью, и обновляет представление результатами.

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

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

Просмотр шаблонов

  • Преобразовать вид
  • Шаблон просмотра
  • Двухэтапный просмотр

Шаблон Template View использует предварительно разработанные шаблоны для отображения данных в приложении — например, сетку изображений продуктов с ценами и описаниями.

Это позволяет быстрее и проще добавлять новый контент в приложение, сохраняя при этом единообразный внешний вид.

Тем не менее, есть некоторые потенциальные недостатки, которые следует учитывать. Использование одного и того же шаблона может ограничить варианты дизайна и привести к тому, что код будет трудно поддерживать, поскольку вы должны быть очень дисциплинированными, чтобы не допустить бизнес-логики в структуру страницы.

Шаблон Transform View преобразует данные из бизнес-логики в формат, удобный для отображения на уровне представления, который может включать такие операции, как форматирование или объединение данных, например преобразование списка информации о продукте в сетку изображения и описания.

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

Шаблон Двухэтапный просмотр разбивает процесс создания экрана на два этапа. На первом этапе из данных создается логический экран, а на втором этапе этот логический экран преобразуется в HTML, который может отображаться пользователю.

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

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

Паттерны контроллера ввода

Существует два шаблона для контроллеров ввода. Первый шаблон называется Контроллер страницы, где каждая страница веб-сайта имеет свой собственный объект контроллера ввода. Каждая страница имеет свой собственный контроллер, что позволяет легко контролировать ее поведение. Это может привести к дублированию кода, если несколько страниц требуют одинаковой логики обработки ввода.

Второй шаблон называется Front Controller, где есть только один объект, который обрабатывает все запросы. Сокращает дублирование кода, предоставляя единую точку входа для всей обработки ввода. Это может быть сложно реализовать и может потребовать больше ресурсов.

В заключение, уровень веб-представления является критически важным компонентом разработки веб-приложений для представления данных и обеспечения взаимодействия с пользователем. Чтобы обеспечить наилучшее архитектурное решение для приложения, важно понимать компромиссы различных доступных шаблонов.

Если вы хотите когда-нибудь встретиться со мной, подпишитесь на меня в LinkedIn.

Спасибо, что нашли время прочитать эту статью, вдохновленнуюP of EAA Мартина Фаулера, и я надеюсь, что она вам понравилась! Если да, поддержите меня, нажав кнопку аплодисментов.