Сериализация vs Маршалинг
Окончательно запутался в разнице между двумя терминами после прочтения дополнительного объёма литературы.
Насколько я понял: маршалинг, в отличие от сериализации, подразумевает запись не только некоторых значений, однозначно характеризующих объект, но и структуру, позволяющую восстановить информацию о том, какой именно объект был сериализован. Т.о. маршалинг это более абстрактный механизм сериализации, позволяющий не заботиться о том, знает ли парсер структуру объекта. Поправьте, если заблуждаюсь! |
Ответ: Сериализация vs Маршалинг
Думаю различия в области применения, а по сути одно и то же.
|
Ответ: Сериализация vs Маршалинг
запутался сам - запутай комьюнити :)
я всегда считал - что сериализация это для сохранения с последующим восстановлением, маршалинг - для передачи данных от одной системы к другой. на деле все оказалось сложнее, теперь и я запутался :) |
Ответ: Сериализация vs Маршалинг
Цитата:
самая простая аналогия маршалинга это вилки для электросетей. т.е. по сути передается одно и то же (электрический ток), но размеры и форма штырьков в розетках и вилках могут быть разными. вот маршалинг это такой переходник, где с одной стороны советская вилка, а с другой эвророзетка. |
Ответ: Сериализация vs Маршалинг
Цитата:
В то время как сериализация это просто преобразование в последовательность байт? |
Ответ: Сериализация vs Маршалинг
Сериализация это описание данных, не только значений но и названий этих данных и часто указание типа.
|
Ответ: Сериализация vs Маршалинг
т.е.
Цитата:
Иными словами я просто поменял значения терминов местами? |
Ответ: Сериализация vs Маршалинг
Итак:
pax Сериализация=Маршалинг ffinder маршалинг=адаптер SBJoker Сериализация это описание данных, не только значений но и названий этих данных и часто указание типа. Цитата:
|
Ответ: Сериализация vs Маршалинг
в вики написан какой-то бред, либо очень специфичное понятие для какого-то конкретного языка программирования или фреймворка.
под "кодовой базой" видимо имеется в виду codebase - исходники. вообще то, что описано в цитате имеет очень много связи с кодогенерацией, что к маршалингу уже отношения не имеет. сериализация - буквально перевод в последовательный вид - преобразование структур данных для передачи по каналу связи, например по сети. десериализация - обратный процесс - преобразование потока байт в объект. |
Ответ: Сериализация vs Маршалинг
ИМХО в простейшем случае маршалинг это тупо кусок памяти объекта записанный в файл и/или переданный по сети. Для восстановления объекта достаточно сделать мемкопи из прочитанного в указатель объекта и он снова возродится.
Конечно это простейший случай без полей-указателей. Сериализация - данные с описанием как и куда их пристроить. Например plist в Mac OS пример сериализации данных любой структуры или класса. Которая может быть обратно прочитана в такой класс или структуру, но и в любой другой. Всё выше ИМХО. |
Ответ: Сериализация vs Маршалинг
В дотнете маршалинг выполняет функцию конвертации "управляемых" объектов в "неуправляемые" и обратно, так что это не тупо кусок памяти.
Сериализация же используется для сохранения в файл и/или передачи по сети. Согласен что можно прочитать в другой объект. Так что я бы сказал что это: Цитата:
|
Ответ: Сериализация vs Маршалинг
Сперва, просто читаем (до конца и спокойно):
http://www.gunsmoker.ru/2011/09/blog-post_9471.html : Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
0) В зависимости от технологии (языка) и уровня абстракции (детализации) описания происходящего, значения терминов несколько размазываются вплоть до их полного слияния. (Так, например можно, с некоторыми оговорками, ввести в описание программы на Blitz3D термин "указатель", полностью приравняв его тем самым к понятию "ссылка") 1) Сериализация - процесс преобразования объекта в последовательность байт. 2) Маршалинг - процесс преобразования объектов (в их актуальных состояниях) для передачи между процессами. 3) В зависимсоти от типа маршалинга, понятие "объект" в пункте 1 меняется: маршалинг по значению - объект=данные маршалинг по ссылке - объект="данные с описанием как и куда их пристроить" Из этого можно сделать вывод, что маршалинг эксплуатирует сериализацию в том или ином виде, исходя из задачи. Задача решаемая при помощи маршалинга заключается в том или ином способе обмена объектами между процессами. Сама сериализация не определяет: находятся ли в выходной последовательности только данные или дополнительная информация о структуре объекта - любой метод преобразования объекта в серию байт называется сериализацией. upd: Если посмотреть ещё абстрактней, то процесс сохранения в файл - тоже маршалинг: только разные процессы - это одна и та же программа запущенная в разные моменты времени. Тем не менее, сериализация может быть использована и без маршалинга - например, для сравнения двух объектов внутри одного процесса. Кроме того, наличие термина, позволяет структурно выделить процедуру из общей сложной схемы взаимодействия. |
Ответ: Сериализация vs Маршалинг
Почему сериализация обязательно в последовательность байт?
Преобразование объекта в JSON объект (string) - не сериализация? |
Ответ: Сериализация vs Маршалинг
Отвечу в том же духе: стринг - не последовательность байт (слово - это тоже последовательность; а списки и прочие методы фрагментированного хранения - детали технической стороны реализации, не отрицающие представлений конечного программиста и скрытые от него за интерфейсом)?
А если серьёзно: Цитата:
Опасался, что коммент будет более разгромным. |
Ответ: Сериализация vs Маршалинг
Оффто почищен (
|
Часовой пояс GMT +4, время: 20:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot