Встречается на собеседованиях • сегодня
Что такое DDD (Domain-Driven Design)
DDD — это подход к разработке программного обеспечения, который фокусируется на моделировании бизнес-логики в соответствии с реальной предметной областью (доменом). Основная цель — создать гибкую и понятную систему, отражающую бизнес-процессы.
Ключевые концепции:
- Ubiquitous Language — общий язык между разработчиками и экспертами домена.
- Bounded Context — четкие границы поддоменов с собственной моделью.
- Aggregates — группы связанных объектов, управляемых через корневой объект.
- Entities & Value Objects — сущности (идентификатор) vs объекты-значения (атрибуты).
Пример на Python:
python
class Order:
def __init__(self, order_id: str, items: list[OrderItem]):
self.id = order_id # Entity
self._items = items
def add_item(self, product: Product, quantity: int):
# Domain logic
if quantity <= 0:
raise ValueError("Quantity must be positive")
self._items.append(OrderItem(product, quantity))
class OrderItem:
def __init__(self, product: Product, quantity: int):
self.product = product # Value Object
self.quantity = quantityDDD особенно полезен в сложных бизнес-системах, где критично точное отражение доменных правил.

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