Вопрос

Я часто слышал, что эта концепция используется, но я не очень хорошо представляю, что это такое.

Это было полезно?

Решение

Преобразование объекта в памяти в формат, который может быть записан на диск, отправлен по беспроводной сети и т.д.

Описание в Википедии.

Другие советы

Позволю себе не согласиться, в Википедии на этот счет довольно ясно написано.

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

http://en.wikipedia.org/wiki/Marshalling_ (компьютерная наука)

Люди уже достаточно четко определили маршалинг, поэтому я пропущу определение и перейду к примеру.

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

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

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

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

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

srcplayer = Player.new
# marshal (store it as string)
str = Marshal.dump(srcplayer)
#unmarshal (get it back)
destplayer = Marshal.load(str)

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

Например, в .NET для обмена данными между управляемым и неуправляемым кодом (например, для доступа к определенным API win32), вероятно, потребуется маршалинг для преобразования между управляемыми объектами C # и объектами в стиле C / C ++ (структурами, дескрипторами, буферами вывода и т.д.). Справка для статических Класс маршала это может быть полезно.

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

Другим текущим повседневным примером является JSON

В самом общем смысле в программировании это просто означает взятие данных в одном формате и преобразование их в формат, приемлемый для какой-либо другой подсистемы.

Это означает преобразование любых данных в другой тип данных для передачи в другую систему.

Например, сортировка структуры в XML-документ для отправки веб-сервису или сортировка указателя для отправки в другую квартиру потока.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top