EagerLoadingMixin
- класс mixin
для сериализаторов, добавляет свойства необходимые для формирования сложных запросов, для уменьшения количества запросов к БД при сериализации данных.
Write<Operation><Entity>Serializer
- сериализатор для начальной обработки данных, которые пришли с запросом (т.е. тот, кто использует интерфейс - он пишет (write
) данные, когда отправляет запрос на создание (Operation
) объекта (Entity
)).
Read<Entity>Serializer
- сериализатор для подготовки данных, которые необходимо отправить клиенту с помощью любого интерфейса.
HandlerView
- класс-родитель всех View
классов, который реализуют api
интерфейс на основе обработчика.
BaseDataHandler
(дата хендлер) - единый класс подготовки сущностей. Содержит методы начальной обработки (получение из БД, чтение входного файла и создание Python-объекта на его основе и т.д.).
BaseHandler
- класс-родитель всех обработчиков. Каждый класс, задача которого - это принять и обработать запрос пользователя, должен быть унаследован (или соблюсти интерфейс) от этого класса.
Handler
(хэндлер, обработчик) - основной класс обработки запроса пользователя. Внутри располагается проверка выполнения правил бизнес-логики.
SignalMixin
- класс mixin
для добавления методов отправки сигналов.
Service
(сервис) - класс, выполняющий требования бизнес-логики. В нём должна быть только логика (создание, изменение, удаление и т.д.). Вызов сервиса - атомарная операция, т.е. операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена.
Signal
(сигнал) - Django сигнал (либо любой другой вид сигнала), сообщающий о факте выполнения операции. Вместе с использованием обработчиков позволяют писать код в событийной стиле - совершение события -> обработка события.
Signal handler
(хэндлер/обработчик сигнала) - метод, который вызывается после совершения события. Каждое событие может иметь несколько обработчиков, которые не должны бы связаны и как-то зависеть друг от друга и последовательности выполнения.
Entity
(сущность) - абстрактная сущность проекта. Очень часто совпадает с основными моделями проекта, но иногда может состоять из нескольких моделей или из части модели.
Consumer
(консьюмер) - класс, который держит и обслуживает одно подключение Web Socket
. Для каждого нового подключения (одна вкладка браузера, которая подключается по ws
) создается новый экземпляр этого класса.