Встречается на собеседованиях • сегодня
Как построить архитектуру на основе DDD
DDD (Domain-Driven Design) — это подход к разработке, где основное внимание уделяется бизнес-логике. Вот ключевые шаги:
-
Разделение на слои:
- Domain (ядро) — бизнес-логика и модели.
- Application — координация работы домена.
- Infrastructure — технические детали (БД, API).
- Presentation — UI или API-контроллеры.
-
Агрегаты и сущности:
- Агрегаты — группы связанных сущностей с корневой сущностью (Aggregate Root).
- Сущности — объекты с идентификатором и бизнес-правилами.
- Репозитории:
- Интерфейсы в домене, реализация в инфраструктуре.
Пример на Python:
python
# Domain Layer
class Order:
def __init__(self, id: str, items: list):
self.id = id
self.items = items
class OrderRepository(ABC):
@abstractmethod
def save(self, order: Order): pass
# Infrastructure Layer
class SQLOrderRepository(OrderRepository):
def save(self, order: Order):
# Save to DB
pass
# Application Layer
class OrderService:
def __init__(self, repo: OrderRepository):
self.repo = repo
def create_order(self, items):
order = Order(str(uuid4()), items)
self.repo.save(order)
return orderИспользуйте Ubiquitous Language (единый язык) между разработчиками и экспертами. DDD особенно полезен для сложных бизнес-доменов.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы