Рубрики
Uncategorized

День 10 – Шаблоны Архитектуры корпоративных приложений – Шаблоны Архитектуры Источников данных

Автор оригинала: David Wong.

1. Ввод данных в таблицу

Действуя в качестве объекта для записи доступа к таблице базы данных, экземпляр обрабатывает все строки в таблице.

1) Рабочий механизм:

Ввод данных таблицы содержит весь SQL, используемый для доступа к одной таблице или попытки, такой как выбор, вставка, обновление, удаление и т.д. Другой код вызывает свои методы для реализации всех взаимодействий с базой данных. Ввод табличных данных может использоваться с модулем таблицы, который генерирует структуру данных набора записей для обработки модулем таблицы

2) Используйте время:

Ввод данных особенно подходит для сценариев транзакций. Выбор между вводом данных строк и вводом данных таблицы зависит от того, как обрабатывать несколько строк. Табличный ввод данных используется, когда представление результирующего набора удобно для обработки сценария транзакции.

3) Примеры:

Следующие два графика представляют собой реализацию ввода табличных данных при нормальных обстоятельствах и их полное использование. сетевые функции:

2. Ввод Данных в Строку

Действуйте как объект для одной записи в записи в источнике данных, по одному экземпляру на строку.

1) Рабочий механизм:

Особенности: Запись данных строк-это объект, аналогичный одной записи, такой как строка в базе данных (где каждый столбец в базе данных становится доменом).

Вопрос: Где я могу хранить операции поиска, которые генерируют этот шаблон? Поскольку выбор статических методов поиска не поддерживает полиморфизм различных методов поиска для разных источников данных, необходимо настроить отдельный объект метода поиска (чтобы каждая таблица в реляционной базе данных имела класс метода поиска и запись для получения результатов).

Разница между вводом необработанных данных и записью активности: существует ли какая-либо логика домена, и если да, то запись активности

2) Используйте время:

Сценарии транзакций (о выборе между вводом данных таблицы и вводом данных строки, ввод данных справочной таблицы)

Ввод необработанных данных может использоваться совместно с средством отображения данных: ввод необработанных данных автоматически создается на основе метаданных, а средство отображения данных реализуется вручную.

3) Примеры:

3. Отчеты о деятельности

Объект, содержащий строку в таблице или представлении базы данных, инкапсулирует доступ к базе данных и добавляет логику домена к этим данным

1) Рабочий механизм:

Суть записи активности-это модель предметной области, в которой класс и структура записей в базовой базе данных очень согласованы.

Записи о действиях обычно имеют следующие методы:

Экземпляр активной записи создается из строки в наборе результатов SQL.

Создайте новый экземпляр для будущей вставки таблиц;

Упаковка часто используемых SQL-запросов и возврат записей активности с помощью методов статического поиска (также могут быть выделены в отдельный класс);

Обновите базу данных и вставьте данные из активных записей в базу данных.

Получает или задает домен;

Реализуйте часть бизнес – логики.

2) Используйте время:

Подходит для создания, чтения, обновления, удаления менее сложной логики домена;

Преимущества: Просто, легко создавать, легко понимать;

Недостатки: Трудно реконструировать проект из-за тесной связи между дизайном объектов и дизайном базы данных; когда бизнес-логика сложна и возникают проблемы со ссылками, сбором и наследованием между объектами, трудно сопоставить записи о действиях.

3) Примеры:

Среди них реализация логики предметной области-знаковый круг.

4. Устройство отображения Данных

Слой картографа, который перемещает данные между объектами и базами данных (и самими картографами), сохраняя при этом их независимость, выглядит следующим образом:

1) Рабочий механизм:

Основные функции: Разделение домена и источников данных

Ленивая загрузка

Сопоставление на основе метаданных

2) Используйте время:

Когда бизнес-логика сложна, а схемы баз данных и объектные модели должны развиваться независимо друг от друга

3) Примеры:

Среди них DataMapper реализует интерфейс поиска людей для реализации методов поиска.