Встречается на 1% собеседований по Python
Какие плюсы и минусы паттерна Active Record
Плюсы Active Record:
- Простота использования: модель содержит и данные, и логику работы с ними
- Быстрая разработка: не нужно писать отдельные классы для данных и DAO
- Прозрачность: легко понять, где и как работают CRUD-операции
- Подходит для простых проектов и прототипов
Минусы Active Record:
- Нарушение SRP: модель знает и о данных, и о работе с БД
- Сложность тестирования: требует подключения к БД или моков
- Плохая масштабируемость: при росте сложности логики модель становится "божественным объектом"
- Связь с БД: усложняет смену хранилища или использование нескольких источников
python
# Пример Active Record в Django
from django.db import models
class User(models.Model): # Наследуемся от Model - это Active Record
name = models.CharField(max_length=100)
email = models.CharField(max_length=100)
def get_orders(self): # Бизнес-логика в модели
return Order.objects.filter(user=self)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы