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