تلعب فئة الإعداد في MVVMCross دورًا مهمًا كحذاء للإطار ، المسؤول عن تهيئة وتكوين البنية التحتية للتطبيق. إنه مكون إلزامي في كل مشروع خاص بالمنصة ، مثل iOS أو Android أو UWP ، ويخدم العديد من الوظائف الرئيسية:
1. تهيئة الإطار: تهيئة كتبولة الإعداد إطار عمل MVVMCROSS عن طريق إعداد مكونات أساسية مثل انقلاب التحكم (IOC) ، ومحرك ربط البيانات ، وبحث ViewModel/View ، ونظام الملاحة ، والمكونات الإضافية. تحدث هذه العملية في خطوتين رئيسيتين: `initializeprimary" و "تهيئة Sondary". يقوم السابق بتهيئة المكونات الأساسية على الخيط الرئيسي ، بينما يقوم الأخير ببناء خدمات النظام الأساسي في الخلفية [1] [9].
2. إنشاء فئة التطبيق: فئة الإعداد هي المسؤولة عن إنشاء مثيل لفئة "التطبيق" ، والتي يتم تعريفها في المشروع الأساسي. تقوم فئة "التطبيق" بتهيئة منطق أعمال التطبيق و iewmodels [4] [10].
3. تسجيل الخدمة: يوفر مكانًا لتسجيل الخدمات والمكونات الإضافية الخاصة بالنظام الأساسي باستخدام حاوية IOC. يتيح ذلك للمطورين ضخ التبعيات في تطبيقهم ، مما يسهل إدارة المنطق المعقد عبر منصات مختلفة [4] [10].
4. التخصيص: يوفر فئة الإعداد فرصًا للتخصيص من خلال طرق مثل "initializeFirstChance" و `initializelastchance`. تتيح هذه الأساليب للمطورين تسجيل كائنات أو خدمات تجارية خاصة بالنظام الأساسي ، مثل خدمات التشفير ، قبل تهيئة التطبيق بالكامل [10].
5. تصحيح الأخطاء والتسجيل: يشارك أيضًا في إنشاء آليات تصحيح الأخطاء والتسجيل ، مثل إنشاء مثيل "تصحيح الأخطاء" ، والذي يساعد في تشخيص المشكلات أثناء التطوير [7].
باختصار ، تعد فئة الإعداد ضرورية لتطبيقات MVVMCROSS ، مما يضمن تهيئة جميع المكونات اللازمة وتكوينها بشكل صحيح قبل بدء التطبيق. إنه بمثابة جسر بين مشروع واجهة المستخدم الخاصة بالمنصة والمنطق الأساسي المحدد في مكتبة الفئة المحمولة (PCL) أو .NET Standard Library.
الاستشهادات:[1] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarinios-ui-project
[2] https://stackoverflow.com/questions/34329985/
[3 "
[4] https://leaware.com/creating-cross-platform-xamarin-applications-use-the-mvvmcross-framework/
[5] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[6] https://stackoverflow.com/questions/17602137/mvvmcross-how-does-tis-view-get-linkint-the-viewmodel/17602246
[7] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[8]
[9] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[10] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[11] https://stackoverflow.com/questions/48132099/how-is-setup-class-instantied-in-mvvmcross-in-xamarin