![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Стратегия High-Low в ORM DORM для Firebird: Распределение Значений на Клиенте и СервереDelphi , Программа и Интерфейс , IDE и КомпиляторВ данной статье мы рассмотрим стратегию High-Low (высокий-низкий) для идентификации объектов, предложенную Скоттом Амблером, и её реализацию в ORM DORM, предназначенном для работы с базой данных Firebird. Основы стратегии High-LowСтратегия High-Low предполагает, что идентификатор объекта состоит из двух частей: уникального HIGH значения, которое получается из определенного источника, и LOW значения, которое назначается приложением. При каждом получении нового HIGH значения, LOW обнуляется. Применение в DORMORM DORM от Daniele Teti на данный момент поддерживает только суррогатные ключи (целые числа или строки). Планируется реализация поддержки естественных ключей (многофункциональных ключей), хотя разработка до этого этапа пока не дошла. Структуры для поддержки многофункциональных ключей внутри DORM уже подготовлены, но отсутствует реализация самой стратегии High-Low. Реализация на клиенте и сервереHIGH значение должно сохраняться на сервере, в то время как LOW значение выделяется клиентом. Для LOW значения подойдет обычный аллокатор, реализованный в виде класса. Пример кода на Object Pascal для аллокатора LOW значения:
ЗаключениеРазработчики DORM планируют добавить поддержку естественных ключей, включая стратегию High-Low, но пока это не реализовано. Однако, учитывая, что DORM является проектом с открытым исходным кодом, любой разработчик может внести свой вклад в реализацию этой стратегии. Таким образом, если вы хотите использовать стратегию High-Low в DORM с базой данных Firebird, вам, возможно, придется реализовать необходимые компоненты самостоятельно, используя приведенные выше принципы и примеры кода. Стратегия High-Low в ORM DORM для Firebird предполагает распределение идентификаторов объектов, где сервер генерирует HIGH значения, а клиент назначает LOW значения, и рассматривается возможность реализации этой стратегии в ORM, не по Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: IDE и Компилятор ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |