Встречается на собеседованиях • сегодня
Как отделяешь бизнес логику от данных
Разделение бизнес-логики и данных достигается через паттерны проектирования, такие как Repository, Service Layer или Clean Architecture.
- Модели данных (DTO/ORM) отвечают только за хранение и валидацию данных.
- Сервисы содержат бизнес-правила и операции.
- Репозитории абстрагируют доступ к данным (БД, API и т.д.).
Пример:
python
# Модель данных (Pydantic/Django ORM)
class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
# Сервис (бизнес-логика)
class UserService:
def register_user(self, name, email):
if not self._validate_email(email):
raise ValueError("Invalid email")
user = User(name=name, email=email)
user.save()
return user
# Репозиторий (если нужна абстракция)
class UserRepository:
def save(self, user):
user.save()Такой подход упрощает тестирование и модификацию кода.

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