Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon كيف يقوم MVVMcross بدعم الكود الخاص


كيف يقوم MVVMcross بدعم الكود الخاص


يدعم MVVMCross رمز خاص بالنظام الأساسي من خلال العديد من الآليات ، مما يسمح للمطورين بإنشاء تطبيقات منصة عبر المنصات مع الاستمرار في الاستفادة من ميزات النظام الأساسي الأصلي. فيما يلي نظرة عامة مفصلة على كيفية تسهيل MVVMcross رمز خاص بالنظام الأساسي:

1. فصل المخاوف **

عادةً ما يتم تنظيم تطبيقات MVVMCROSS إلى جزأين رئيسيين: مشروع أساسي للمشروع ومشاريع واجهة المستخدم الخاصة بالمنصة. يحتوي المشروع الأساسي ، الذي يتم تنفيذه غالبًا كمكتبة فئة محمولة (PCL) أو .NET Standard Library ، على منطق الأعمال ، والنماذج ، ونماذج العرض ، والواجهات للخدمات الخاصة بالمنصة. يتيح هذا الفصل إعادة استخدام الحد الأقصى لاستخدام التعليمات البرمجية عبر المنصات مع الحفاظ على الكود الخاص بالمنصة معزولة في مشاريع واجهة المستخدم [2] [7].

2. انعكاس التحكم (IOC) وحقن التبعية **

يستخدم MVVMCROSS حاوية IOC لإدارة التبعيات. This allows developers to register platform-specific services in the platform-specific projects and inject them into the Core project's view models. على سبيل المثال ، إذا احتاج التطبيق إلى الوصول إلى الكاميرا ، يمكن للمشروع الأساسي تحديد واجهة للوصول إلى الكاميرا ، ويمكن لكل مشروع خاص بتوفير تطبيقه الخاص لهذه الواجهة. ثم تحل حاوية IOC هذه التبعيات في وقت التشغيل ، مما يضمن استخدام الخدمة الصحيحة الخاصة بالمنصة [2] [8] [11].

3. خدمات خاصة منصة **

يتم تنفيذ الخدمات الخاصة بالمنصة في مشاريع واجهة المستخدم الأصلية. يتم تسجيل هذه الخدمات في فئة الإعداد لكل مشروع منصة. فئة الإعداد هي المسؤولة عن bootstrapping mvvmcross وتسجيل الخدمات الخاصة بالمنصة مع حاوية IOC. يتيح ذلك عرض نماذج العرض في المشروع الأساسي لاستخدام الوظائف الخاصة بالنظام الأساسي دون الرجوع مباشرة إلى واجهات برمجة التطبيقات الخاصة بالمنصة [2] [7].

4. إطار البرنامج المساعد **

يتضمن MVVMCROSS إطار عمل إضافي يسمح للمطورين بدمج ميزات خاصة بالنظام الأساسي في تطبيقاتهم. يمكن أن توفر الإضافات وظائف مثل موقع GPS والتوطين والمستشعرات والمزيد. يتم تسجيل هذه المكونات الإضافية في حاوية IOC ، مما يمكّن نماذج العرض للوصول إلى الميزات الخاصة بالنظام الأساسي من خلال حقن التبعية. يدعم هذا الإطار أيضًا تطبيقات وهمية لأغراض الاختبار [4] [11].

5. محرك ربط قابل للتخصيص **

يوفر MVVMCROSS محرك ربط قابل للتخصيص يسمح للمطورين بإنشاء روابط مخصصة لمشاهدة طرق عرض خاصة بالنظام الأساسي. هذه الميزة مفيدة بشكل خاص عند العمل مع عناصر التحكم الأصلية التي لا تدعم آليات ربط البيانات القياسية. من خلال تحديد الارتباطات المخصصة ، يمكن للمطورين التأكد من أن نماذج العرض الخاصة بهم متصلة بشكل صحيح بعروض عرض خاصة للنظام الأساسي [4].

6. عروض المنصات **

يستخدم MVVMcross مقدمي العروض الخاصة بالنظام الأساسي (على سبيل المثال ، `imvxiosviewpresenter` ،` imvxandroidviewpresenter`) لإدارة كيفية عرض المشاهدات على كل منصة. يسمح هؤلاء مقدمو العروض بتخصيص منطق العرض التقديمي ، مما يتيح للمطورين تكييف سلوك واجهة المستخدم مع متطلبات النظام الأساسي المحدد [3].

باختصار ، يدعم MVVMCross رمزًا خاصًا من النظام الأساسي من خلال توفير نهج منظم لفصل منطق العمل عن التنفيذ الخاص بالنظام الأساسي ، والاستفادة من IOC والحقن التبعي لإدارة الخدمة ، وتقديم أطر الربط والمكونات الإضافية القابلة للتخصيص لدمج الميزات الأصلية. يتيح ذلك للمطورين زيادة إعادة استخدام التعليمات البرمجية مع الاستمرار في تقديم تجارب المستخدم الخاصة بالنظام الأساسي.

الاستشهادات:
[1]
[2] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-use-the-mvvmcross-framework-2920
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
[4] https://github.com/mvvmcross/mvvmcross
[5] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[6]
[7] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[8] https://stackoverflow.com/questions/14337063/platform-pecific-ioc-in-mvvmcross
[9] https://www.mvvmcross.com/documentation/getting-started/getting-started
[10]
[11] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross