Слайд 2
![Сериализация и десериализации Сериализация представляет процесс преобразования какого-либо объекта в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-1.jpg)
Сериализация и десериализации
Сериализация представляет процесс преобразования какого-либо объекта в поток байтов.
Десериализация представляет
процесс восстановления из потока байтов ранее сохраненный объект.
Слайд 3
![Атрибуты Атрибуты обеспечивают эффективный способ связывания метаданных или декларативной информации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-2.jpg)
Атрибуты
Атрибуты обеспечивают эффективный способ связывания метаданных или декларативной информации с кодом
(сборками, типами, методами, свойствами и т. д.).
Слайд 4
![Атрибут Serializable Чтобы объект определенного класса можно было сериализовать, надо этот класс пометить атрибутом Serializable](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-3.jpg)
Атрибут Serializable
Чтобы объект определенного класса можно было сериализовать, надо этот класс
пометить атрибутом Serializable
Слайд 5
![Атрибут NonSerialized При необходимости не сохранять элемент используют атрибут NonSerialized.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-4.jpg)
Атрибут NonSerialized
При необходимости не сохранять элемент используют атрибут NonSerialized.
Слайд 6
![Граф объектов Среда CLR учитывает все связанные объекты, чтобы гарантировать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-5.jpg)
Граф объектов
Среда CLR учитывает все связанные объекты, чтобы гарантировать корректное сохранение
данных. Этот набор связанных объектов называется графом объектов.
Слайд 7
![Граф объектов Каждый объект в графе получает уникальное числовое значение.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-6.jpg)
Граф объектов
Каждый объект в графе получает уникальное числовое значение. Имейте в
виду, что числа, назначенные объектам в графе, являются произвольными и не имеют никакого значения для внешнего мира.
Слайд 8
![Граф объектов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-7.jpg)
Слайд 9
![Формат сериализации В.NET можно использовать следующие форматы сериализации: бинарный SOAP xml JSON](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-8.jpg)
Формат сериализации
В.NET можно использовать следующие форматы сериализации:
бинарный
SOAP
xml
JSON
Слайд 10
![Дополнительная информация о данных XML (Extensible Markup Language) - это](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-9.jpg)
Дополнительная информация о данных
XML (Extensible Markup Language) - это новый SGML-производный
язык разметки документов, позволяющий структурировать информацию разного типа, используя для этого произвольный набор инструкций.
Слайд 11
![Дополнительная информация о данных В SOAP-посланиях передаются данные самых разных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-10.jpg)
Дополнительная информация о данных
В SOAP-посланиях передаются данные самых разных типов: числа,
даты, строки символов, массивы, структуры. Определение типов этих данных выполняется, как обычно, в схемах XML. Схема может быть записана любым способом, но чаще всего применяется язык XSD
Слайд 12
![Дополнительная информация о данных В SOAP-посланиях передаются данные самых разных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-11.jpg)
Дополнительная информация о данных
В SOAP-посланиях передаются данные самых разных типов: числа,
даты, строки символов, массивы, структуры. Определение типов этих данных выполняется, как обычно, в схемах XML. Схема может быть записана любым способом, но чаще всего применяется язык XSD
Слайд 13
![Формат сериализации Для каждого формата предусмотрен свой класс: для сериализации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-12.jpg)
Формат сериализации
Для каждого формата предусмотрен свой класс: для сериализации в бинарный
формат - класс BinaryFormatter, для формата SOAP - класс SoapFormatter, для xml - XmlSerializer, для json - DataContractJsonSerializer.
Эти классы расположены в using System.Runtime.Serialization.Formatters. <тип сериализации>
Слайд 14
![Интерфейс сериализации XMlSerializer не реализует данный интерфейс](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-13.jpg)
Интерфейс сериализации
XMlSerializer не реализует данный интерфейс
Слайд 15
![Точность данных Когда используется тип BinaryFormatter, он сохраняет не только](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-14.jpg)
Точность данных
Когда используется тип BinaryFormatter, он сохраняет не только данные полей
объектов из графа, но также полное квалифицированное имя каждого типа и полное имя определяющей его сборки (имя, версия, маркер общедоступного ключа и культура).
Слайд 16
![Примеры программ(Binary)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-15.jpg)
Слайд 17
![Примеры программ(Binary)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-16.jpg)
Слайд 18
![Примеры программ(Binary) Использование массива данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-17.jpg)
Примеры программ(Binary)
Использование массива данных
Слайд 19
![Примеры программ(Soap)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-18.jpg)
Слайд 20
![Примеры программ(XML)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/337002/slide-19.jpg)