Встречается на собеседованиях • сегодня

Что такое DDD (Domain-Driven Development)

DDD (Domain-Driven Design) — это подход к разработке ПО, который фокусируется на моделировании бизнес-логики в соответствии с реальной предметной областью (доменом). Основная цель — создать гибкую и понятную систему, отражающую бизнес-процессы.

Ключевые концепции:

  • Ubiquitous Language — единый язык между разработчиками и экспертами домена.
  • Bounded Context — четкое разделение системы на контексты с собственной логикой.
  • Aggregates — группы связанных сущностей, управляемых через корневой объект.
  • Repositories & Services — слои для работы с данными и бизнес-логикой.

Пример на Python:

python
class Order:
    def __init__(self, order_id, customer):
        self.id = order_id
        self.customer = customer
        self.items = []

    def add_item(self, product, quantity):
        self.items.append(OrderItem(product, quantity))

class OrderItem:
    def __init__(self, product, quantity):
        self.product = product
        self.quantity = quantity

# Repository для работы с заказами
class OrderRepository:
    def save(self, order):
        # Логика сохранения в БД
        pass

DDD особенно полезен в сложных системах с интенсивной бизнес-логикой.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы