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

Хорошо ли когда бизнес логика не зависит от инфраструктуры

Да, это хорошая практика. Разделение бизнес-логики и инфраструктуры (например, баз данных, API, UI) делает код более:

  • Поддерживаемым – изменения в инфраструктуре не ломают логику
  • Тестируемым – бизнес-правила можно проверять без внешних зависимостей
  • Гибким – легко заменить один слой (например, SQL → NoSQL)

Пример (Django-подобный стиль):

python
# Плохо: логика смешана с инфраструктурой
def process_order(request):
    user = User.objects.get(pk=request.user.id)  # Зависит от ORM
    if user.balance < 100:                       # Бизнес-правило
        raise ValueError("Low balance")
    # ...

# Лучше: разделение слоёв
class OrderProcessor:
    def __init__(self, user_repo):  # Инфраструктура через абстракцию
        self.user_repo = user_repo

    def execute(self, user_id):
        user = self.user_repo.get(user_id)
        if user.balance < 100:      # Чистая логика
            raise ValueError("Low balance")
        # ...

Итог: Такой подход соответствует принципам Clean Architecture/Hexagonal Architecture.

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

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

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

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