В данном разделе описаны известные ограничения продукта.

Приобретая что то или делая выбор среди нескольких схожих, на первый взгляд, вещей, обычно обращают внимания на достоинства и предоставляемые при этом возможности. Информации о недостатках и ограничениях не очень много. Она деликатно умалчивается. Об ограничениях чего либо речь заходит после того как с этими ограничениями вы столкнулись в процессе эксплуатации. Это означает, то что ваш выбор уже сделан, вешь приобретена и теперь вы рассматриваете ее использование в своей жизни. Покупая автомобиль вы так или иначе знаете, что на нем нельзя облетать заторы по воздуху, а приобретая велосипед вы врядли предполагаете ездить на нем со скоростью 100 км.час. Представленые примеры, конечно-же яркие и саркастические, но жизнь дает нам и другие, реальные, примеры. Так было бы очень неприятно узнать что ваш новый автомобиль не может эксплуатироваться после 3 лет работы, от того что по неописаным данным его кузов сильно съедает коррозия.

По этим причинам мы считаем что осознание , фиксация и описание недостатков и ограничений таким же важным элементом, как и описание хороших сторон и других  достоинств, которые так любят показывать в рекламных роликах.
Осознание недостатков это первый шаг к их устранению.Следует сразу разделить недостатки на те, которые являются естественными - то есть при проектировании такими и задумывались, но кто то может счесть их таковыми, и на те, которые являются пока что не решенными проблемами. 

Ниже представлены выявленные недостатки и ограничения продукта. 

  1. Сериализатор не сохраняет абсолютно все данные объекта. Сохраняются только те данные, которые были описаны как сохраняемые.
  2. Одна из реализация XML сериализатора использует продукт JDom, который, лицензированный и обладает лицензионными ограничениями. 
  3. В реализациях в которых используется XML, в процессе чтения  сперва строится дерево XML тэгов, а потом на его основе строятся объекты и устанавливаются их свойства. Таким образом, мы имеем многопроходный преобразователь из бинарного представления в объектное, это может быть критично по времеи выполнения и по затратам памяти.
  4. Установка и чтение состояния объекта производится через механизм рефлексии(Reflection), и невозможно если действия запрещены политикой безопасности приложения.
  5. Информация о типе сохраняемого значения не хранится нигде кроме как в информации о типе. Все сохраняемые значения приводятся к "строковому" виду (к набору байт) и именно в таком виде сохраняются в,  или вычитываются из потока. Из этого следует что если изменяется тип уже сохраенного значения, то это значение при вычитке приводится к новому типу данных. Преобразование сохранненых данных к новому типу может иметь побочный эффект, такой как - метод может не сигнализировать ошибкой о таком изменении типа если оба типа старый и новый могут быть преобразованы из последовательности байт. 

 

 

Контакты

E-mail: steammachine@yandex.ru

© SteamMachine

Создать бесплатный сайт с uCoz