✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Объектно-ориентированный способ работы с моделями и веб-приложениями

8

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

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

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

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

Работа с моделями и веб-приложениями

Представьте на мгновение, что ваше приложение имеет модель Employee. Эта модель может включать множество атрибутов, но можно с уверенностью предположить, что все сотрудники будут иметь:

  • имя,
  • фамилия,
  • идентификатор сотрудника,
  • и адрес электронной почты

То, как эта информация хранится в базе данных, не так уж неважно, но это не так важно для нашего обсуждения.

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

Детали того, как информация транслируется из базы данных (или, в более общем случае, хранилища данных) в класс, не так важны.

Однако обычно мы видим что-то вроде этого:

  1. Есть класс, который запрашивает информацию,
  2. Информация передается простой фабрике ,
  3. Простая фабрика создает экземпляр модели ,
  4. Затем модель передается стороннему классу, который ее запросил.

С точки зрения изображения вы можете увидеть это так:

С этого момента Модель передается по всему приложению. Но именно здесь вступает в игру начальная точка этого поста: как мы передаем экземпляр модели (или набор моделей) во внешний интерфейс приложения?

Поток веб-приложения

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

Однако общий поток веб-приложения будет примерно таким:

  1. Пользователь инициирует действие, которое запрашивает экземпляр модели,
  2. Интерфейс выполняет вызов конечной точки на сервере,
  3. Сервер читает запросы и проверяет их правильность,
  4. Затем отправляет представление модели во внешний интерфейс.

Другие разработчики могут не согласиться (что, на мой взгляд, всегда приветствуется и заслуживает обсуждения), но я обнаружил, что сериализация экземпляра модели в JSON значительно упрощает работу с внешним интерфейсом из-за функциональности JavaScript, поскольку он относится к, гм, JSON.

Объектно-ориентированный способ работы с моделями и веб-приложениями

Другими словами:

  1. берем модель,
  2. сериализовать его в JSON,
  3. отправить его по проводу,
  4. затем десериализуйте его на внешнем интерфейсе в JavaScript-представление самого себя.

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

В конечном итоге это позволяет нам сохранять данные обратно в базу данных.

Перспектива высокого уровня

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

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

Тем временем, однако, не должно быть сложно перевести ваши реализации в рабочий процесс Model-Serialization-Request-Send, как описано в этом посте.

Источник записи: tommcfarlin.com

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