Конвенція над конфігурацією в mvvmcross
MVVMCross, міжплатформна рамка MVVM, використовує концепцію "конвенції над конфігурацією" для спрощення процесу розробки за рахунок зменшення потреби в явній конфігурації. Цей підхід дозволяє розробникам зосередитись на нетрадиційних аспектах їх застосування, використовуючи умовності за замовчуванням для обробки типових сценаріїв.
Основні принципи
У MVVMCross конвенція над конфігурацією в першу чергу застосовується в тому, як пов'язані перегляди та ViewModels. За замовчуванням MVVMCross використовує конвенцію іменування для асоціації з відповідними ViewModels. Наприклад, якщо у вас є `tipview`, Mvvmcross автоматично шукатиме` tipviewmodel`, щоб поєднати з ним. Ця конвенція виключає необхідність явної конфігурації, що полегшує управління взаємозв'язком між поглядами та ViewModels [11].
Реалізація
1. Конвенція про назву ViewModel: MVVMCross дотримується конкретної конвенції про іменування, де ViewModel, як правило, називається додаванням "моделі" до імені перегляду. Наприклад, `FirstView` пов'язаний з` FirstViewModel` за замовчуванням [5] [11].
2. Автоматичне зв'язування: При використанні цієї конвенції MVVMCross автоматично знаходить та пов'язує відповідну ViewModel з його переглядом. Це особливо корисно, коли ви не використовуєте загальні параметри для чіткого визначення цих зв’язків [11].
3. Гнучкість: Хоча MVVMcross покладається на конвенції для простоти, він також забезпечує гнучкість. Розробники можуть перекрити ці конвенції, коли це необхідно, використовуючи загальні параметри або спеціальні конфігурації. Це дозволяє отримати більше контролю над тим, як пов'язані з собою перегляд та ViewModels, особливо у складних додатках [11].
вигоди
- Зменшена конфігурація: Використовуючи конвенції, розробники витрачають менше часу на написання коду конфігурації, зосереджуючись на логіці програми.
- Поліпшена читабельність: База коду стає більш читабельною, оскільки завдання повторюваної конфігурації мінімізовані.
- Спрощене технічне обслуговування: З меншою кількістю явних конфігурацій підтримка та оновлення програм стає простішим.
налаштування
Хоча MVVMCross значною мірою покладається на конвенції, він також підтримує налаштування. Розробники можуть змінити поведінку за замовчуванням, впровадивши власну логіку в ключових класах, таких як `App` та` setup`. Наприклад, ви можете налаштувати контейнер МОК або змінити спосіб побудови та ініціалізації 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-platform-xamarin-applications-using-the-mvvmcross-framework/
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/patterns-practice-convention-over-configuration
[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
[.
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview