Студопедия — Технология сериализации объектов на платформе .NET
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Технология сериализации объектов на платформе .NET






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

Для осуществления (де)сериализации.NET предлагает 3 разных варианта (не считая самостоятельной реализации механизма сериализации):

· Сериализация в двоичный формат (BinnaryFormatter)

· Сериализация в формат SOAP (SoapFormatter)

· Сериализация в формат xml (XmlSerializer)

Тип BinaryFormatter сериализует состояние объекта в поток, используя компактный двоичный формат. Этот тип определен в пространстве имен System.Runtime.Serialization.Formatters.Binary, которое входит в сборку mscorlib.dll.

В этом случае сериализируются все поля, вне зависимости от их области видимости. Исключение составляют поля помеченные аттрибутом [NonSerialized]. Помимо сохранения данных полей, BinaryFormatter также сохраняет полное квалифицированное имя каждого типа, полное имя сборки, где он определен, сюда входит информация об имени, версии, маркере общедоступного ключа (public key). Здесь заключается основной минус BinaryFormatter - данные, сохраненные с его помощью, могут быть воссозданы только в инфраструктуре CLI. Причем каждый, кто будет восстанавливать данные, должен иметь сборку с сериализуемым типом. Сериализация происходит с помощью двух ключевых методов Serialize() и Deserialize(). Первый сохраняет граф объектов в виде последовательности байт в указанный поток. Второй наоборот - преобразует сохраненную последовательность байт в граф объектов.

Тип SoapFormatter сохраняет состояние объекта в виде сообщения SOAP (стандартный XML-формат для передачи и приема сообщений от веб-служб). Этот тип определен в пространстве имен System.Runtime.Serialization.Formatters.Soap, находящемся в отдельной сборке. Также как и BinaryFormatter сериализирует все поля, вне зависимости от их области видимости, кроме полей помеченных аттрибутом [NonSerialized]. В отличие от BinaryFormatter, платформа и операционная система не влияют на успешное восстановление данных, сериализированных с помощью SoapFormatter. Как и в случае с BinaryFormatter (де)сериализация происходит с помощью ключевых методов Serialize() и Deserialize().

И, наконец, для сохранения дерева объектов в документе XML имеется тип XmlSerializer. Чтобы использовать этот тип, нужно указать директиву using для пространства имен System.Xml. Serialization и установить ссылку на сборку System.Xml.dll. Данный тип сериализации не сохраняет приватные данные. Хотя это можно сделать, инкапсулировав такое поле в общедоступном свойстве.

Также XmlSerializer не сохраняет точную информацию о типе (квалифицированное имя, имя сборки и т.д.), что делает его идеальным кандидатом, когда необходимо сохранить объект для дальнейшего использования в другом языке программирования, а также на любой платформе, в любой операционной системе. Сериализация с помощью XmlSerializer немного отличается от сериализации с помощью BinaryFormatter и SoapFormatter. XmlSerializer требует указания информации о типе, который нужно сериализовать.


 

Реализация информационно-справочной системы «Отдел кадров»

Информационно-справочная система «Отдел кадров» включает в себя следующий функционал:

§ Добавление

§ Изменение

§ Удаление

§ Просмотр данных

§ Загрузка данных из файла

§ Сохранение данных в файл

Таблица данных имеет следующие поля:

§ Табельный номер

§ Фамилия

§ Имя

§ Отчество

§ Должность

§ Номер кабинета

§ Внутренний телефон

В приложении представлен программный код, реализующий систему с заявленным функционалом.

Заключение

В результате практики я изучила технологию сериализации объектов на платформе.NET, а также реализовала информационно-справочную систему с использованием этой технологии.

Реализуя систему, изучила основы еще одного объектно-ориентированного языка программирования С#. Кроме того, научилась реализовывать Windows-приложения, использовать средства конструктора баз данных Windows Forms.


 







Дата добавления: 2015-06-15; просмотров: 572. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последую­щая жизнь проходит под знаком этой травмы...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия