Введение

Концепция в программировании В программировании активный шаблон записи является архитектурным шаблоном. Он содержится в программном обеспечении, которое хранит в памяти объекты данных в реляционных базах данных. Он был назван Мартином Фаулером в его книге 2003 года "Patterns of Enterprise Application Architecture". Интерфейс объекта, соответствующий этому шаблону, будет включать в себя такие функции, как Вставка, Обновление и Удаление, а также свойства, которые более или менее непосредственно соответствуют столбцам в базовой таблице базы данных. Активная модель записи - это подход к доступу к данным в базе данных. Таблица или вид базы данных упаковывается в класс. Таким образом, экземпляр объекта привязан к одной строке в таблице. После создания объекта, новая строка добавляется в таблицу при сохранении. Любой загруженный объект получает информацию из базы данных. Когда объект обновляется, соответствующая строка в таблице также обновляется. Класс wrapper реализует методы или свойства аксессуара для каждого столбца в таблице или представлении. Этот шаблон обычно используется инструментами постоянства объектов и в объектно-реляционном отображении (ORM). Обычно отношения иностранного ключа будут представлены как объектный экземпляр соответствующего типа через свойство.

Большие файлы

Поскольку данные и методы доступа к базе данных находятся в одном файле, эти файлы становятся больше.

Принцип единой ответственности и разделение интересов

Еще одна критика модели активных записей заключается в том, что из-за сильной связи взаимодействия базы данных и логики приложения объект активных записей не следует принципу единой ответственности и разделения интересов. Это противоположно многоуровневой архитектуре, которая должным образом рассматривает эти практики. Из-за этого активный шаблон записи лучше всего и чаще всего используется в простых приложениях, которые являются формами над данными с функциональностью CRUD или только как одна часть архитектуры. Обычно эта часть - доступ к данным и почему несколько ORM реализуют активную модель записи.