Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Как работает соглашение о конфигурации в MVVMcross


Как работает соглашение о конфигурации в MVVMcross


Конвенция о конфигурации в mvvmcross

MVVMcross, кроссплатформенная структура MVVM, использует концепцию «соглашения о конфигурации» для упрощения процесса разработки путем снижения необходимости явной конфигурации. Этот подход позволяет разработчикам сосредоточиться на нетрадиционных аспектах своего применения, используя конвенции по умолчанию для обработки типичных сценариев.

Основные принципы

В MVVMcross соглашение о конфигурации в основном применяется в том, как связаны представления и просмотр. По умолчанию MVVMcross использует соглашение об именах, чтобы связать представления с соответствующими видами. Например, если у вас есть `tipView`, MVVMcross автоматически ищет` tipViewModel`, чтобы соединиться с ним. Эта конвенция устраняет необходимость в явной конфигурации, облегчая управление взаимосвязи между представлениями и моделями View [11].

Выполнение

1. Конвенция об именах ViewModel: MVVMcross следует за конкретным соглашением о именованиях, где видойль обычно называется добавлением «модели» на имя представления. Например, `FirstView` связан с` FirstViewModel` по умолчанию [5] [11].

2. Автоматическое связывание: при использовании этого соглашения MVVMcross автоматически определяет и связывает соответствующую ViewModel с его представлением. Это особенно полезно, если вы не используете общие параметры для явного определения этих отношений [11].

3. Гибкость: в то время как MVVMcross полагается на соглашения для простоты, это также обеспечивает гибкость. Разработчики могут переопределить эти соглашения при необходимости, используя общие параметры или пользовательские конфигурации. Это позволяет больше контролировать, как связаны представления и просмотра, особенно в сложных приложениях [11].

Преимущества

- Уменьшенная конфигурация: используя конвенции, разработчики тратят меньше времени на написание кода конфигурации, вместо этого фокусируясь на логике приложения.
- Улучшенная читабельность: кодовая база становится более читаемой, поскольку задачи повторяющейся конфигурации минимизируются.
- Упрощенное техническое обслуживание: с меньшим количеством явных конфигураций, поддержание и обновление приложений становится проще.

Настройка

В то время как MVVMcross в значительной степени полагается на соглашения, он также поддерживает настройку. Разработчики могут переопределить поведение по умолчанию, внедряя пользовательскую логику в классах, таких как `app` и` setup '. Например, вы можете настроить контейнер IOC или изменить то, как видовые модели строится и инициализируются [9].

Таким образом, реализация соглашения MVVMcross по поводу конфигурации упрощает процесс разработки путем автоматизации типичных задач, позволяя разработчикам сосредоточиться на уникальных аспектах своих приложений. Этот подход повышает производительность и упрощает обслуживание приложений, при этом обеспечивая гибкость, необходимую для сложных сценариев.

Цитаты:
[1] https://en.wikipedia.org/wiki/convention_over_configuration
[2] https://visualstumagazine.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-in-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
[11] https://www.mvvmcross.com/documentation/tutoriors/tipcalc/a-note-about-views-and-viewmodels
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview