2013-08-02 3 views
0

Я искал и читал о сериализации объектов и связанных с ними предметах. Однако я не могу придумать никаких вариантов использования.Каковы основные варианты использования сериализации объектов?

Или какова мотивация или ситуация, в которой необходимо ее использовать?

Следующий вопрос: Если сериализация заключается в сохранении состояния объекта, то зачем нужна сериализация объектов Java? Не удается ли сохранить конфигурацию объекта в текстовом файле и отправить эту сеть вместо этого?

+0

Иногда вам необходимо сохранить состояние объекта (измеренное значениями, которые описывают объект), в какую-либо среду вне приложения. Будь то сохранить его позже, перенести в другое приложение и т. Д. Технически, когда вы сохраняете данные в базе данных, вы «сериализуете» объект в определенном формате. – David

+0

@David Я опубликовал следующий вопрос. – drum

+2

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

ответ

1

Сериализация является очень мощным и имеет множество применений, помимо уже упоминавшегося другими пользователями:

Иногда вы хотите глубокой копии объекта и простой способ сделать это, не впадая в отражающий кошмар, сериализуя его: How do you do a deep copy of an object in .NET (C# specifically)?

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

1

Проверить MSDN: http://msdn.microsoft.com/en-us/library/vstudio/ms233843.aspx

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

1

Иногда вам необходимо сохранить состояние объекта. Эта статья covers тема довольно хорошо. Цитирование из статьи о причинах сериализовать:

Сериализация обеспечивает:

  • метод сохраняющихся объекты, например, запись их свойств в файл на диске, или сохранить их в базу данных.
  • метод удаленных вызовов процедур, например, как в SOAP.
  • метод для распределения объектов, особенно в программных компонентах, таких как COM, CORBA и т. Д.
  • способ обнаружения изменений во времени изменяющихся данных.
Смежные вопросы