Logo Craft Homelab Docs Контакты Telegram

1. Моделирование предметной области (стр. 32-52)

Предметная область (domain) — это сфера деятельности, для которой вы создаете ПО. В книге пример — система управления поставками мебели (онлайн-продажи).

Модель предметной области — это упрощенное представление реальной бизнес-логики в вашем коде. Это не просто таблицы базы данных или API-эндпоинты, а объекты и функции, которые отражают реальные бизнес-процессы.

Ключевые идеи главы 1:

  1. Язык предметной области (Ubiquitous Language)

    • Вы и бизнес-эксперты должны говорить на одном языке
    • Термины из бизнеса становятся именами классов и функций в коде
    • Пример: если бизнес говорит «партия товара», в коде должен быть класс Batch, а не StuffContainer
  2. Модель ≠ База данных

    • Модель предметной области — это про поведение и правила бизнеса
    • ORM-модели (SQLAlchemy, Django) — это про хранение данных
    • Эти вещи стоит разделять
  3. Функции службы предметной области

    • Не всё должно быть объектом
    • Иногда проще использовать функции для бизнес-операций