Решение проблемы может быть одним из следующих:
- Выдирать из класса необходимые данные и записывать в свою структуру данных, которая уже будет серелизоваться. Достоинства: можно просто управлять серелизацией класса, можно также манипулировать полученными данными в классе, можно сделать свою систему хэширования данных на основе данных структур данных. Недостатки: необходим механизм преобразования COM класса в нашу структуру данных, причем такой механизм необходимо организовывать для каждого класса, сам же механизм представляет из себя лишь перенос данных из полей COM объекта в поля данных нашего класса.
- Организовать "универсальный" механизм серелизации необходимых нам COM классов в виде, скажем, фабрики. Достоинства: общий механизм для серелизации, нет накладных расходов на хранение "промежуточных" классов с данными - вся работа ведется непосредственно через COM. Недостатки: данные COM объектов могут быть в спецефическом формате, и общий механизм серелизации его некорректно обработает.
- Организовать "обертку" для COM, свойства которой серелизуются. Достоинства: Нет накладных расходов на хранение данных COM объектов, обертка просто серелизуется. Недостатки: Для каждого COM класса нужна своя обертка.
Возможно для этих целей уже есть стандартное решение и я на него пока(!) не натолкнулся.
Комментариев нет:
Отправить комментарий