Konwencja o konfiguracji w MVVMCROSS
MVVMCROSS, platforma MVVM Framework, wykorzystuje koncepcję „konwencji nad konfiguracją”, aby uprościć proces rozwoju poprzez zmniejszenie potrzeby jawnej konfiguracji. Takie podejście pozwala programistom skupić się na niekonwencjonalnych aspektach ich zastosowania, wykorzystując domyślne konwencje do obsługi typowych scenariuszy.
podstawowe zasady
W MVVMCROSS konwencja nad konfiguracją jest stosowana przede wszystkim w sposób połączenia widoków i widoków. Domyślnie MVVMCROSS używa konwencji nazewnictwa do kojarzenia widoków z odpowiadającymi imodelami ViewModels. Na przykład, jeśli masz „tipview”, MVVMCROSS automatycznie będzie szukał „tipviewmodel”, aby sparować z nim. Konwencja eliminuje potrzebę jawnej konfiguracji, co ułatwia zarządzanie relacją między widokami a viewModels [11].
Implementacja
1. Konwencja nazewnictwa ViewModel: MVVMCROSS jest zgodny z konkretną konwencją nazewnictwa, w której wyświetlacz jest zwykle nazywany dołączaniem „modelu” do nazwy widoku. Na przykład „FirstView” jest domyślnie powiązany z „FirstViewModel” [5] [11].
2. Automatyczne łączenie: Podczas korzystania z tej konwencji MVVMCROSS automatycznie lokalizuje i łączy odpowiedni Model ViewModel z jego widokiem. Jest to szczególnie przydatne, gdy nie używasz parametrów ogólnych do wyraźnego zdefiniowania tych relacji [11].
3. Elastyczność: Podczas gdy MVVMCROSS opowiada się na konwencjach dla prostoty, zapewnia również elastyczność. Deweloperzy mogą w razie potrzeby zastąpić te konwencje, używając ogólnych parametrów lub niestandardowych konfiguracji. Umożliwia to większą kontrolę nad tym, jak powiązane są widoki i widzenia, szczególnie w złożonych aplikacjach [11].
Korzyści
- Zmniejszona konfiguracja: Wykorzystując konwencje, programiści spędzają mniej czasu na pisaniu kodu konfiguracyjnego, koncentrując się na logice aplikacji.
- Ulepszona czytelność: baza kodu staje się bardziej czytelna, ponieważ powtarzalne zadania konfiguracyjne są zminimalizowane.
- Uproszczona konserwacja: Przy mniejszej liczbie jawnych konfiguracji utrzymanie i aktualizowanie aplikacji staje się łatwiejsze.
Dostosowywanie
Podczas gdy MVVMCROSS w dużej mierze opiera się na konwencjach, wspiera również dostosowanie. Deweloperzy mogą zastąpić domyślne zachowania, wdrażając niestandardową logikę w klasach kluczowych, takich jak „App” i „Setup”. Na przykład możesz dostosować kontener IOC lub zmienić sposób konstruowania i inicjowania ViewModels [9].
Podsumowując, implementacja konwencji przez MVVMCross w stosunku do konfiguracji usprawnia proces rozwoju poprzez automatyzację typowych zadań, umożliwiając programistom skoncentrowanie się na unikalnych aspektach ich aplikacji. Podejście to zwiększa wydajność i upraszcza konserwację aplikacji, jednocześnie zapewniając elastyczność potrzebną do złożonych scenariuszy.
Cytaty:[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-in-practice-convention-over-configuration
[5] https://www.codeproject.com/articles/863695/introdukcja-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-andetup
[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