Программа
Полная программа подготовки senior backend в команде Use Case Pattern: одиннадцать фаз от методологии и уровней зрелости через Spring, данные, DDD, паттерны, брокеры, API/безопасность, качество — до сквозного кейса маркетплейса.
Этот сайт устроен как программа подготовки. Каждая статья — кусочек знаний, необходимый, чтобы работать в команде, использующей Use Case Pattern. Программа разбита на тринадцать фаз: от методологии и архитектурных решений через фундамент Spring, данные, поиск, object storage, паттерны, брокеры — до сквозного кейса маркетплейса.
Можно читать подряд (рекомендуется новым в стеке) или точечно (если интересует конкретная тема). К концу программы у вас сложится связная картина того, как UCP-сервис устроен изнутри и снаружи.
Фаза 1. Use Case Pattern: методология
Зачем эта фаза. Понять центральную идею: что такое UCP, почему она нужна команде с AI, чем отличается от Clean Architecture и DDD.
- Use Case Pattern (обзор)
- Как применять: пошаговый гид
- Онтология UCP — формальная модель методологии
- Use Case спецификация: шаблон
- Tier спеки и уровень зрелости
Фаза 2. Четыре уровня зрелости
Зачем эта фаза. Уметь выбирать уровень под задачу — не строить Hexagonal там, где хватит MVP.
Фаза 3. Архитектурный выбор
Зачем эта фаза. До того, как писать код: монолит или микросервисы, PostgreSQL или MongoDB, как описывать систему диаграммами.
- Монолит, модульный монолит или микросервисы
- PostgreSQL или MongoDB
- Модель C4: уровни описания системы
Фаза 4. Spring как фундамент
Зачем эта фаза. UCP-сервисы строятся на Spring/Spring Boot. Без понимания DI, lifecycle, транзакций, AOP — нельзя осознанно писать Handler-ы и интегрировать инфраструктуру.
- DI/IoC и scopes
- Жизненный цикл бина с примерами
- Auto-configuration, properties, profiles
- Spring MVC: REST, валидация, exception handlers
@Transactionalглубоко- Spring Data JPA: repositories, проекции, OSIV
- Spring Events:
@TransactionalEventListener, AsyncEvents - Spring AOP: когда нужен, ограничения
- Scheduled, Async, виртуальные потоки
Фаза 5. Данные: PostgreSQL, MongoDB, jOOQ
Зачем эта фаза. Persistence-слой — больше половины проблем UCP-сервиса. ACID, изоляция, индексы, миграции, моделирование — must-know для уровня senior.
- ACID и уровни изоляции в PostgreSQL
- Размер БД, партиционирование и шардирование в PostgreSQL
- ACID, read/write concerns, транзакции в MongoDB
- Репликация и шардинг в MongoDB
- Моделирование документов в MongoDB
- PostgreSQL Style Guide — правила в Java/Spring
- jOOQ Style Guide — persistence в UCP-стеке
Фаза 6. Поиск: Elasticsearch
Зачем эта фаза. ES — стандартный движок для полнотекстового поиска, фасетов и near-real-time аналитики в UCP-сервисах. Когда WHERE name ILIKE '%q%' в Postgres тормозит, или нужны весовые ranking-запросы — это сюда.
- Fundamentals: inverted index, cluster, shards, mapping, analyzers
- Query DSL и relevance scoring — match/term/bool, BM25, фасеты
- Spring Data Elasticsearch: клиент, репозитории, индексация, CDC
- Operations: ILM, snapshots, hot/warm/cold, sizing, мониторинг
Фаза 7. Object storage (S3)
Зачем эта фаза. S3-совместимое хранилище — третий тип storage в UCP-стеке (после реляционной и документной БД): для пользовательских файлов, бэкапов, экспортов, статики. Senior должен понимать различие моделей и сочетать их правильно.
- Fundamentals: bucket, object, key, storage classes, presigned URLs, multipart
- Spring + AWS SDK v2: интеграция, паттерны, MinIO
- Operations: backup, replication, lifecycle, costs, monitoring
Фаза 8. Domain-Driven Design
Зачем эта фаза. UCP уровня 3+ опирается на DDD: агрегаты, доменные события, bounded context. Без этого Handler становится сервисной свалкой.
- Что такое DDD и зачем он нужен
- Стратегические паттерны — Bounded Context, Context Map
- Тактические паттерны — Entity, Value Object, Aggregate
- Интеграционные паттерны — ACL, OHS
- Принципы проектирования
- DDD Tactical Style Guide — 58 правил
R-ENT/R-VO/R-AGG/...
Фаза 9. Архитектурные паттерны сервиса
Зачем эта фаза. CQRS и Hexagonal — два паттерна, к которым команда приходит на уровнях 2 и 4 соответственно. Парные style-guides — правила для AI-ревью.
- CQRS: разделение чтения и записи + CQRS Style Guide
- Гексагональная архитектура + Hexagonal Style Guide
Фаза 10. Брокеры и распределённые системы
Зачем эта фаза. Между сервисами — Kafka и/или RabbitMQ. Между БД и брокером — saga, outbox, idempotency. Без этого распределённый сервис теряет данные на первом сбое.
- AMQP: протокол, exchange, queue, binding, ack
- RabbitMQ в production: Quorum Queues, кластеризация
- Spring AMQP:
@RabbitListener, retry, DLX - Messaging-паттерны через AMQP
- AMQP vs Kafka: какой брокер брать
- Apache Kafka: основы
- Kafka в production: Spring Kafka, DLQ, Schema Registry
- Распределённые паттерны + Distributed Patterns Style Guide
- Паттерны отказоустойчивости + Resilience Style Guide
Фаза 11. API, безопасность, микросервисы
Зачем эта фаза. Внешняя поверхность сервиса: REST-контракты, OAuth2/JWT, структурная организация микросервисов.
- REST API Style Guide
- Spring Security: фильтры, AuthN, AuthZ, OAuth2
- Паттерны авторизации + Auth Patterns Style Guide
- Структурные паттерны микросервисов
Фаза 12. Качество, тесты, эксплуатация
Зачем эта фаза. Сервис, который нельзя поддерживать, — не работа. Кодстандарт, тестовая стратегия, observability, AI как часть процесса ревью.
- Java Style Guide — кодовый стандарт команды
- Test Strategy Style Guide — пирамида тестов
- Spring Testing: слайсы, TestContainers
- Spring Actuator, Micrometer, трейсинг
- Observability Style Guide
- AI пишет код. Зачем тогда методология?
- Как ревьюить код, который написал AI
- Executable engineering standard
Фаза 13. Применение на сквозном кейсе
Зачем эта фаза. Связать всё вместе на одном бизнес-домене — маркетплейс. От бизнес-брифа через карту сервисов до полной Tier C спеки и кода.
Дальше
- Главная страница — обзор методологии и услуг.
- Каталог стандартов — все 17 style guides с правилами
R-*для AI-ревью. - Use Case Pattern (обзор) — если ещё не читали — лучшая точка входа.
- Услуги — если решили внедрять методологию и нужна помощь.