@vrazbros

Чем отличается active record от data mapper?

Чем отличается active record от data mapper ? И то и другое как я понимаю позволяет работать с записью в таблице через ооп но в чем именно различия и какие есть +/- ?
  • Вопрос задан
  • 1606 просмотров
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
Оба эти паттерна предназначаются для преобразования данных из реляционного представления в объектное. Разница в том как они это делают и как они организованы, если в вкратце:
ActiveRecord - это объект, который хранит данные и содержит логику взаимодействия с БД.
Преимущества: простота, удобно использовать на небольших проектах.
Недостатки: паттерн нарушает множество принципов в частности Single Responsibility Principle, его использование как правило делает код сильно связанным, из за чего на сложных проектах его использовать невозможно.
DataMapper - объект хранящий логику взаимодействия с БД. Он не хранит данные как ActiveRecord
Преимущества: позволяет построить слабосвязанную архитектуру, разделить приложения на слои

Более подробно можете почитать у Фаулера, да и просто погуглить можно, на эту тему уже много материалов написано на просторах интернета.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы