كائن نقل البيانات

في مجال البرمجة، يعتبر كائن نقل البيانات MSDN (2010). Data Transfer Object. Microsoft MSDN Library. Retrieved from https://msdn.microsoft.com/en-us/library/ms978717.aspx. Fowler, Martin (2010). Data Transfer Object. Patterns of Enterprise Application Architecture. Retrieved from http://martinfowler.com/eaaCatalog/dataTransferObject.html.  كائنًا يحمل البيانات بين العمليات. الدافع وراء استخدامه هو أن الاتصال بين العمليات يتم عادةً باللجوء إلى الواجهات البعيدة (مثل خدمات الويب)، حيث تكون كل استدعاء عملية مكلفة. نظرًا لأن غالبية تكلفة كل استدعاء مرتبط بوقت الذهاب والإياب بين العميل والخادم، فإن إحدى طرق تقليل عدد الاستدعاءات هي استخدام كائن نقل بيانات يجمع البيانات التي كان من الممكن نقلها من خلال عدة استدعاءات، ولكن يتم تقديمها من خلال استدعاء واحد فقط.

الفرق بين كائنات نقل البيانات و كائنات الأعمال أو كائنات الوصول إلى البيانات هو أن كائنات نقل البيانات ليس لديها أي سلوك باستثناء تخزين المعلومات واسترجاعها، والتسلسل وإلغاء التسلسل من البيانات الخاصة به (طرق الموصّل والمحوّر والمدير والطريقة المتسلسلة). بعبارة أخرى، كائنات نقل البيانات هي كائنات بسيطة لا ينبغي أن تحتوي على أي منطقية للأعمال ولكن قد تحتوي على آليات التسلسل وإلغاء التسلسل لنقل البيانات عبر السلك.

غالبًا ما يتم استخدام هذا النمط بشكل غير صحيح خارج الواجهات البعيدة. وقد أثار ذلك ردًا من مؤلفها LocalDTO. Retrieved from http://martinfowler.com/bliki/LocalDTO.html.  حيث أكد أن الغرض الكامل من كائنات نقل البيانات هو تحويل البيانات في الاستدعاءات البعيدة باهظة الثمن.

 المصطلح 
كائن القيمة  ليس كائن نقل بيانات. تم الخلط بين المصطلحين من قبل مطوري جافا في الماضي.

 المراجع 

 روابط خارجية 

 ملخص من كتاب فاولر
 كائن نقل البيانات - مكتبة MSDN Microsoft
 GeDA - مُجمّع dto العام هو إطار عمل Java مفتوح المصدر للحلول على مستوى المؤسسة
 DTO المحلي

تصنيف:حوسبة متزامنة
تصنيف:نماذج تصميم البرمجيات