Мегаобучалка Главная | О нас | Обратная связь


Сериализация объектов и десериализация объектов в SOAP. Формат SOAP .



2019-08-13 312 Обсуждений (0)
Сериализация объектов и десериализация объектов в SOAP. Формат SOAP . 0.00 из 5.00 0 оценок




Протокол SOAP (Simple Object Access Protocol) представляет простой протокол для обмена данными между различными платформами. При такой сериализации данные упакуются в конверт SOAP, данные в котором имеют вид xml-подобного документа. Посмотрим на примере.

Прежде чем использовать класс SoapFormatter, нам надо добавить в проект сборку System.Runtime.Serialization.Formatters.Soap.dll. После этого нам станет доступным функциональность SoapFormatter:

Принцип использования SoapFormatter похож на рассмотренную в прошлой теме бинарную сериализацию. Здесь также создается поток, записывающий данные в файл people.soap. Для сериализации используется метод formatter.Serialize(fs, people), использующий поток и объект для сериализации.

При десериализации считываем ранее сохраненные объекты и преобразуем их к нужному нам объекту в методе Deserialize: Person[] newPeople = (Person[])formatter.Deserialize(fs)

После сериализации все данные будут сохранены в файл people.soap, который будет иметь следующее содержание:

<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV:Body>

<SOAP-ENC:Array SOAP-ENC:arrayType="a1:Person[2]" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/Serialization/Serialization%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull">

<item href="#ref-3"/>

<item href="#ref-4"/>

</SOAP-ENC:Array>

<a1:Person id="ref-3" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/Serialization/Serialization%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull">

<_x003C_Name_x003E_k__BackingField id="ref-5">Tom</_x003C_Name_x003E_k__BackingField>

<_x003C_Age_x003E_k__BackingField>29</_x003C_Age_x003E_k__BackingField>

</a1:Person>

<a1:Person id="ref-4" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/Serialization/Serialization%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Dnull">

<_x003C_Name_x003E_k__BackingField id="ref-6">Bill</_x003C_Name_x003E_k__BackingField>

<_x003C_Age_x003E_k__BackingField>25</_x003C_Age_x003E_k__BackingField>

</a1:Person>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

 

Шаблоны проектирования. Типы шаблонов проектирования.

 

Шаблоны проектирования — это руководства по решению повторяющихся проблем. Это не классы, пакеты или библиотеки, которые можно было бы подключить к вашему приложению и сидеть в ожидании чуда. Они скорее являются методиками, как решать определенные проблемы в определенных ситуациях.

Википедия описывает их следующим образом:

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

 

Типы шаблонов

Шаблоны бывают следующих трех видов:

1. Порождающие.

2. Структурные.

3. Поведенческие.

Если говорить простыми словами, то это шаблоны, которые предназначены для создания экземпляра объекта или группы связанных объектов.

Википедия гласит:

Порождающие шаблоны — шаблоны проектирования, которые абстрагируют процесс инстанцирования. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять наследуемый класс, а шаблон, порождающий объекты, делегирует инстанцирование другому объекту.

Существуют следующие порождающие шаблоны:

· простая фабрика (Simple Factory);

· фабричный метод (Factory Method);

· абстрактная фабрика (Abstract Factory);

· строитель (Builder);

· прототип (Prototype);

· одиночка (Singleton).

Простыми словами: Структурные шаблоны в основном связаны с композицией объектов, другими словами, с тем, как сущности могут использовать друг друга. Ещё одним объяснением было бы то, что они помогают ответить на вопрос «Как создать программный компонент?».

Википедия гласит:

Структурные шаблоны — шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры.

Список структурных шаблонов проектирования:

· адаптер (Adapter);

· мост (Bridge);

· компоновщик (Composite);

· декоратор (Decorator);

· фасад (Facade);

· приспособленец (Flyweight);

· заместитель (Proxy).

Простыми словами: Поведенческие шаблоны связаны с распределением обязанностей между объектами. Их отличие от структурных шаблонов заключается в том, что они не просто описывают структуру, но также описывают шаблоны для передачи сообщений / связи между ними. Или, другими словами, они помогают ответить на вопрос «Как запустить поведение в программном компоненте?»

Википедия гласит:

Поведенческие шаблоны — шаблоны проектирования, определяющие алгоритмы и способы реализации взаимодействия различных объектов и классов.

Поведенческие шаблоны:

· цепочка обязанностей (Chain of Responsibility);

· команда (Command);

· итератор (Iterator);

· посредник (Mediator);

· хранитель (Memento);

· наблюдатель (Observer);

· посетитель (Visitor);

· стратегия (Strategy);

· состояние (State);

· шаблонный метод (Template Method).

 

 



2019-08-13 312 Обсуждений (0)
Сериализация объектов и десериализация объектов в SOAP. Формат SOAP . 0.00 из 5.00 0 оценок









Обсуждение в статье: Сериализация объектов и десериализация объектов в SOAP. Формат SOAP .

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (312)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)