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