عرض مقدمي العرض في MVVMCross دورًا مهمًا في إدارة كيفية تقديم نماذج العرض داخل التطبيق. إنها تعمل كوسطاء بين طبقة نموذج العرض وواجهة المستخدم الفعلية ، مما يتيح عرضًا مرنًا ومخصصًا للمنصة للوجهات العرض.
دور العرض
1. التنقل والعرض التقديمي: عرض مقدمي العرض طلبات من نماذج العرض للانتقال إلى طرق عرض جديدة أو تغيير عرض تلك الموجودة. يقررون كيفية عرض هذه المشاهدات بناءً على قدرات النظام الأساسي ومتطلبات التطبيق [1] [2].
2. التنفيذ الخاص بالنظام الأساسي: نظرًا لأن مقدمي العروض يتعاملون مباشرة مع طبقة العرض ، فهي بطبيعتها خاصة بالمنصة. يتيح ذلك للمطورين تخصيص العرض التقديمي بناءً على نوع الجهاز ، مثل استخدام علامات التبويب على iOS و Android ولكن عرض محوري على Windows Phone [1].
3. التخصيص والمرونة: يمكّن مقدمو العروض المطورين من تنفيذ استراتيجيات عرض مختلفة لمختلف أحجام الشاشة أو التوجهات. على سبيل المثال ، على شاشة هاتف صغيرة ، قد يتم عرض قائمة وتفاصيل في شاشات منفصلة ، بينما على جهاز لوحي ، يمكن عرضها جنبًا إلى جنب باستخدام عرض تقسيم [1].
4. استخدام قيم العرض التقديمي: يمكن للمقدمين الحصول على معلومات إضافية من خلال "العرض التقديمي" ، والتي تعد جزءًا من "MVXViewModelRequest". يتيح ذلك عرض نماذج العرض بتمرير تلميحات إلى المقدم حول كيفية تقديم العرض ، مثل مسح مكدس التنقل بعد عملية تسجيل الدخول [7].
5. العروض الافتراضية والمخصصة: يوفر MVVMCross مقدمي العروض الافتراضية لكل منصة ، ولكن يمكن للمطورين أيضًا إنشاء مقدمي العروض المخصصة لتلبية احتياجات التطبيق المحددة. يمكن للمقدمين المخصصين تجاوز السلوك الافتراضي لتنفيذ أنماط التنقل الفريدة أو أنماط العرض التقديمي [2] [4].
أساليب عرض العروض
- `show (MVXViewModelRequest request)` `: يتم استدعاء هذه الطريقة عندما يتم استدعاء` showViewModel () `من نموذج العرض. إنه يبني ويعرض العرض المقابل بناءً على تفاصيل الطلب [1].
- `changepresentation (MVXPresentationHint HINT)`: تتيح هذه الطريقة تغييرات العرض التقديمي التي لا تتضمن عرض نموذج عرض جديد ، مثل إغلاق طريقة عرض أو تغيير وضع العرض التقديمي [1].
فوائد استخدام مقدمي العرض
- فك الارتباط: يساعد مقدمو العروض في فصل منطق نموذج العرض من عرض واجهة المستخدم ، مما يسمح برمز أنظف وأكثر قابلاً للصيانة.
-اتساق المنصات عبر المنصات: على الرغم من التطبيقات الخاصة بالمنصة ، يضمن مقدمو العروض أن نماذج العرض تتصرف باستمرار عبر منصات مختلفة.
- التخصيص: فهي توفر طريقة مرنة لتكييف واجهة المستخدم مع الأجهزة المختلفة وأحجام الشاشة دون تغيير منطق نموذج العرض.
باختصار ، يعد عرض مقدمي العرض في MVVMCROSS ضروريين لإدارة كيفية تقديم المشاهدات عبر منصات مختلفة ، مما يوفر المرونة والتخصيص والفصل النظيف بين نموذج العرض وطبقات واجهة المستخدم.
الاستشهادات:[1] https://gregshackles.com/presenters-in-mvvmcross-a-primer/
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://learn.microsoft.com/en-us/archive/msdn-magazine/2011/december/mvpvm-design-pattern-the-model-view-presenter-viewmodel-sesign-patern-for-wpf
[4] https://www.mvvmcross.com/mvvmcross-5-release/
[5] https://www.mvvmcross.com/documentation/platform/ios/ios-view-presenter
[6] https://softwareengineering.stackexchange.com/questions/60774/model-view-presenter-implement- nutts
[7]
[8] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms-view-presenter
[9] https://www.gatling.xyz/explining-model-view-presenter/
[10] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter