OberonCore https://forum.oberoncore.ru/ |
|
Зачем Domain в Stores.Store? https://forum.oberoncore.ru/viewtopic.php?f=23&t=288 |
Страница 1 из 1 |
Автор: | Сергей Губанов [ Среда, 09 Август, 2006 09:16 ] |
Заголовок сообщения: | Зачем Domain в Stores.Store? |
Не понимаю смысла Domain в Stores.Store... Объясните кто понимает? |
Автор: | Илья Ермаков [ Среда, 09 Август, 2006 20:49 ] |
Заголовок сообщения: | |
Ну, как это я понимаю... ![]() Stores предназначен по определению для сохранения произвольных графов объектов. Вот домен и отождествляется некоторому такому графу. Из домена ссылок наружу нет (т.е. перманентных ссылок, сохраняемых через WriteStore), а внутри домена ссылки могут быть произвольными. Если мы хотим построить перманентную ссылку между объектами, мы должны объединить их домены, вызывав Stores.Join, иначе при WriteStore сработает предусловие... Технически домен берет на себя разрешение циклических ссылок, т.е. записывание каждого объекта только один раз, независимо от числа вызовов WriteStore для него. Так вот, технически без доменов для этого вполне можно было бы обойтись (как Вы сами говорили про свою реализацию), но, видимо у Ominc были какие-то планы по расширению функциональности Stores. И в целом введение доменов - это правильно, потому что позволяет контролировать сохраняемый граф объектов, держать его обозримым. Иначе при некотролируемых WriteStore легко и всю кучу ББ выгрузить из-за недосмотра... ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |