Библиотека типовых блоков
Структура библиотеки типовых блоков размещается в файле формата XML, который идеально подходит для хранения древовидных структур. Верхним уровнем иерархии являются разделы блоков, нижним – сами блоки.
Каждая запись о разделе содержит название раздела, рисунок раздела и все блоки, включенные в данный раздел. Каждая запись о блоке содержит название блока, рисунок блока и путь к файлу, непосредственно представляющему данный блок в системе моделирования. Иерархическая структура файла XML библиотеки представлена на рис.3.8.
Рис. 3.8. Представление структуры библиотеки в XML-файле
Отображение данного файла в системе моделирования представлено на рис. 3 приложение 1.
Состав библиотеки типовых элементов подробно описан в приложении 2.
Как видно из рис. 3.8, типовые блоки в системе хранятся не в базе данных, а в файлах. Каждому блоку соответствует один файл.
Рассмотрим принцип формирования файлов, соответствующих типовым блокам. Метод их записи основан на принципе сериализации. Файлы с сериализованными объектами сами по себе содержат иерархическую структуру в формате XML. Сериализация заключается в прямой записи экземпляров классов в файл, причем таким образом, что исключается дублирование ссылок. Другими словами после записи в файл объектов со сложной структурой и перекрестными ссылками по принципу сериализации, их чтение в оперативную память даст тоже состояние объектов в памяти, что и до записи, причем не будет создано повторяющихся объектов.
Использование такого подхода, например, очень упростило сохранение составных блоков (или моделей) системы, которые состоят из множества блоков и связей и имеют большое количество перекрестных ссылок внутри себя.
Таким образом, сохранение измененного блока в память представляет собой не что иное, как перезапись его файла новым образом объекта.
Данный метод имеет и свои недостатки. При использовании стандартной сериализации сохранение графических объектов (наследованных от стандартных классов языка) приводит к получению файлов большого размера.
Еще одним недостатком является невозможность открыть в системе сохраненный блок, если его программная реализация претерпела существенные изменения. Данный объект необходимо переписывать в файл заново.
Дата добавления: 2021-10-28; просмотров: 390;