سؤال

ما هي مزايا وعيوب DTOs من منظور أداء موقع الويب؟(أنا أتحدث في حالة الوصول إلى قاعدة البيانات من خادم تطبيق مختلف عن خادم الويب - ويمكن لخادم الويب الوصول إلى قاعدة البيانات مباشرة.)

هل كانت مفيدة؟

المحلول

DTO ليست مصدر قلق للأداء.أعتقد أن ما تسأل عنه هو الآثار المترتبة على الأداء في التدرج.على وجه الخصوص، استخدام طبقة التطبيق بين طبقة الويب (خادم الويب) وطبقة البيانات (خادم قاعدة البيانات).

بشكل عام، تتمثل الآثار المترتبة في زيادة زمن الوصول (لديك رحلات ذهابًا وإيابًا إضافية للشبكة)، لكنك تحصل على بعض السعة الإضافية عن طريق تقسيم الحمل عبر الأجهزة.

سبب شائع آخر (مرة أخرى، عدم الأداء) قد يفعله الأشخاص هو السماح لهم بوضع خادم الويب في المنطقة المجردة من السلاح مع الاحتفاظ بخوادم التطبيق وقاعدة البيانات داخل جدار الحماية.

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

أيضًا، لا تقلل من شأن العمل المطلوب للحفاظ على بنية من هذا النوع.إنه عمل أكثر من مجرد حل غير متدرج، لذا استخدمه فقط إذا كنت تتوقع الحاجة إليه.

ومع ذلك، فإن استخدام DTOs لا يستلزم استخدام Tiering.

أفضل وصف وجدته للتصنيف يأتي من كتاب مارتن فاولر، أنماط التحليل.يوجد قسم صغير في الخلف على واجهات التطبيقات والطبقات.

فقط لتكرار الإجابة السابقة، DTOs ليست مصدر قلق للأداء.إنها مجرد فئة بدون طرق مستخدمة لتوفير العزل بين الأجزاء المختلفة لتطبيقك.

أقترح أيضًا اختيار كتاب مارتن الآخر، أنماط هندسة تطبيقات المؤسسات.تم توثيق "نمط" DTO هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top