دنباله سازی (Serialization) – به زبان ساده
فرایند دنباله سازی یک شیء را marshaling یا با ترتیب نشان دادن نیز می گویند. عملیات مخالف این فرایند، استخراج یک ساختمان داده از دنباله ای از بایت هاست (deserialization یا unmarshalling).

کاربردهای دنباله سازی
- شیوه ای برای انتقال داده در طول سیم ( messaging یا پیام رسانی)
- شیوه ای برای ذخیره داده (در پایگاه داده ها، بر روی درایوهای دیسک سخت)
- شیوه ای برای فراخوانی روال راه دور، برای مثال در SOAP
- شیوه ای برای توزیع شیءها، به خصوص در مهندسی نرم افزار مبتنی بر مولفه همچون COM، CORBA و غیره
- شیوه ای برای تشخیص تغییر در داده های متغیر با زمان
تبعات دنباله سازی
دنباله سازی، عدم شفافیت در نوع داده انتزاعی را با افشای جزئیات محرمانه پیاده سازی از بین می برد. پیاده سازی جزئی که تمام اعضای داده را دنباله سازی می کند، کپسوله سازی را زیر سوال می برد.
برای تشویق رقیبان به ایجاد محصولات غیرمشابه، تولیدکنندگان نرم افزارهای اختصاصی اغلب جزئیات قالب دنباله سازی برنامه هایشان را مخفی نگه می دارند. بعضی حتی تعمدا داده های دنباله سازی شده را مبهم و یا حتی رمزگذاری می کنند. با این حال، در تبادل داده بین کامپیوترها باید اپلیکیشن ها قادر به درک قالب های دنباله سازی هم باشند. بنابراین، معماری های فراخوانی متد راه دور همچون CORBA، قالب های دنباله سازی شان را با جزئیات زیاد تعریف می کنند.
بسیاری از موسسات، همچون کتابخانه ها و بایگانی ها، از اسناد خود با ثبت در قالب دنباله سازی شده ای که برای انسان قابل فهم باشد، پشتیبان تهیه می کنند.
پشتیبانی از دنباله سازی توسط زبان های برنامه نویسی
زبان های برنامه نویسی شیء گرای زیادی مستقیما از دنباله سازی شیء پشتیبانی می کنند. بعضی از این زبان ها عبارتند از Ruby، Smalltalk، Python، PHP، Objective-C، Java و خانواده زبان های (.NET). بعضی کتابخانه ها نیز وجود دارند که پشتیبانی از دنباله سازی را به زبان هایی که آن را پشتیبانی نمی کنند، اضافه می کنند.
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید












