Встречается на 2% собеседований по Python
Что такое 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
интервью вопросы и ответы