الاتفاقية على التكوين في MVVMCROSS
يستخدم MVVMCROSS ، وهو إطار MVVM عبر المنصات ، مفهوم "الاتفاقية على التكوين" لتبسيط عملية التطوير عن طريق تقليل الحاجة إلى التكوين الصريح. يتيح هذا النهج للمطورين التركيز على الجوانب غير التقليدية لتطبيقهم ، والاستفادة من الاتفاقيات الافتراضية للتعامل مع السيناريوهات النموذجية.
المبادئ الأساسية
في MVVMCROSS ، يتم تطبيق الاتفاقية على التكوين بشكل أساسي في كيفية ربط المشاهدات ومواد العرض. بشكل افتراضي ، يستخدم MVVMcross اتفاقية تسمية لربط وجهات النظر مع عروض العرض المقابلة الخاصة بها. على سبيل المثال ، إذا كان لديك "TipView" ، فسيبحث MVVMCross تلقائيًا عن "TipViewModel" لإقرانه. تلغي هذه الاتفاقية الحاجة إلى التكوين الصريح ، مما يجعل من السهل إدارة العلاقة بين المشاهدات وعرض ViewModels [11].
تطبيق
1. ViewModel Convention Convention: MVVMCross يتبع اتفاقية تسمية محددة حيث يتم تسمية عرض ViewModel عادةً عن طريق إلحاق "نموذج" باسم العرض. على سبيل المثال ، يرتبط "FirstView" بـ "FirstViewModel" افتراضيًا [5] [11].
2. الارتباط التلقائي: عند استخدام هذه الاتفاقية ، يحدد MVVMCross تلقائيًا وربط العرض المناسبة بعرضه. هذا مفيد بشكل خاص عندما لا تستخدم المعلمات العامة لتحديد هذه العلاقات بشكل صريح [11].
3. المرونة: بينما يعتمد MVVMcross على اتفاقيات البساطة ، فإنه يوفر أيضًا المرونة. يمكن للمطورين تجاوز هذه الاتفاقيات عند الضرورة باستخدام المعلمات العامة أو التكوينات المخصصة. يسمح ذلك بمزيد من التحكم في كيفية ارتباط المشاهدات وأزياء ViewModels ، خاصة في التطبيقات المعقدة [11].
فوائد
- التكوين المخفض: من خلال الاستفادة من الاتفاقيات ، يقضي المطورون وقتًا أقل في كتابة رمز التكوين ، مع التركيز بدلاً من ذلك على منطق التطبيق.
- قابلية القراءة المحسنة: تصبح قاعدة الشفرة أكثر قابلية للقراءة حيث يتم تقليل مهام التكوين المتكررة.
- صيانة مبسطة: مع تكوينات صريحة أقل ، يصبح الحفاظ على التطبيقات وتحديثها أسهل.
التخصيص
بينما يعتمد MVVMcross اعتمادًا كبيرًا على الاتفاقيات ، فإنه يدعم أيضًا التخصيص. يمكن للمطورين تجاوز السلوكيات الافتراضية عن طريق تطبيق المنطق المخصص في الفئات الرئيسية مثل "التطبيق" و "الإعداد". على سبيل المثال ، يمكنك تخصيص حاوية IOC أو تغيير كيفية إنشاء وتهيئة مواد ViewModels وتهيئتها [9].
باختصار ، يقوم تنفيذ MVVMcross للاتفاقية على التكوين بتبسيط عملية التطوير عن طريق أتمتة المهام النموذجية ، مما يسمح للمطورين بالتركيز على جوانب فريدة من تطبيقاتهم. يعزز هذا النهج الإنتاجية ويبسيط صيانة التطبيق مع الاستمرار في توفير المرونة اللازمة للسيناريوهات المعقدة.
الاستشهادات:[1] https://en.wikipedia.org/wiki/convention_over_configuration
[2] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[3] https://leaware.com/creating-cross-latform-xamarin-applications-use-the-mvvmcross-framework/
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/februiter/patterns-in-practice-convention-over-diguration
[5] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[6] https://github.com/mvvmcross/mvvmcross-samples
[7] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://books.sonatype.com/mvnref-book/reference/installation-sect-conventionconfiguration.html
[9] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[10] https://www.mvvmcross.com/documentation/getting-started/getting-started
[11] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-note-about-views-and-viewmodels
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview