powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Извлечение данных из класса
2 сообщений из 2, страница 1 из 1
Извлечение данных из класса
    #35481985
Wolferz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,(Hi to all) помогите разобраться с оператором %Open, %OpenID и др. (по работе с классами). В каких случаях и какой лучше применять.

P.S. Тока начал разбиратся с кешем)
...
Рейтинг: 0 / 0
Извлечение данных из класса
    #35482051
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Беда всех кто начинает разбираться с кащеем в том что они не знают что он устанавливает вместе с собой документацию - к сожалению на английском - иначе половины вопросов бы тут не задавали.

Но можно найти электронный вариант Кирстена с соавторами - СУБД Cache. Объектно - ориентированная разработка приложений. Учебный курс и это будет очень очень неплохим подспорьем.

Теперь на пальцах. Объектная модель классов Cach'e (помимо всей обвязки платформы) достаточно проста.

Классы бывают :

1- Абстракными - экземляры не существуют - используется для создания "интерфейсов" и заглушек

2 - Регистровыми (%Library.RegisteredObject) - экpемпляры существуют только в памяти без возможности сохранения - определяет основной метод создания объектов %New()

3- Серийными (%Library.SerialObject) - или сериальными - классы которые могу сворачивать (сериализовать) свой экземлпяр в строку (а если быть точнее в список куда сохраняются как значение полей так и тип класса) - определяет еще два метода работы собственно %GetSwizzleObject, что сворачивает (сериализует) объект в список - и %Open - который этот список может заново открыть - воссоздав объект на момент сериализации.

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

4 - Хранимые (%Library.Persistent) - обладая всеми свойствами сериальных классов. хранимые классы добавляют, во первых структуру хранения - где описывается в каком глобале будут сохранены экземпляры класса, во вторых понятие ID - идентификатора - по которому можно оперировать с хранимым объектом, в третих функции %Save() - сохраняет объект в базе и назначает ему ID, %OpenID - открывает (считывает из базы) объект по его ID, %DeleteId удаляет из базы объект по ID.

В подавляющем большинстве случаев - ID это некое постоянно растущее целое число, хотя Cach'e позволяет его переодпределять и формировать на свое усмотрение...

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

%OpenId - необходим что бы воссоздать (открыть) экземлпяр ранее сохраненого на диске объекта по его уникальному номеру ID
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Извлечение данных из класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]