Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross의 구성에 대한 협약은 어떻게 작동합니까?


MVVMCross의 구성에 대한 협약은 어떻게 작동합니까?


MVVMCross의 구성에 대한 컨벤션

크로스 플랫폼 MVVM 프레임 워크 인 MVMCROSS는 "구성에 대한 컨벤션"개념을 활용하여 명시 적 구성의 필요성을 줄임으로써 개발 프로세스를 단순화합니다. 이 접근 방식을 통해 개발자는 응용 프로그램의 전통적인 측면에 집중하여 기본 규칙을 활용하여 일반적인 시나리오를 처리 할 수 ​​있습니다.

기본 원칙

MVVMCross에서는 뷰 및 뷰 모델이 연결되는 방식에 주로 구성에 대한 컨벤션이 적용됩니다. 기본적으로 MVVMCross는 명명 규칙을 사용하여 뷰를 해당 뷰 모델과 연관시킵니다. 예를 들어, 'tipview'가있는 경우 MVVMCross는`팁 뷰 모델 '을 자동으로 찾아 페어와 페어링합니다. 이 컨벤션은 명시 적 구성의 필요성을 제거하여 뷰와 뷰 모델 간의 관계를보다 쉽게 ​​관리 할 수 ​​있도록합니다 [11].

구현

1. ViewModel Naming Convention : MVVMCross는 ViewModel이 일반적으로 "모델"을 뷰 이름에 추가하여 명명되는 특정 명명 규칙을 따릅니다. 예를 들어,`FirstView`는 기본적으로 'FirstViewModel'에 연결되어 있습니다 [5] [11].

2. 자동 연결 :이 컨벤션을 사용할 때 MVVMCross는 적절한 뷰 모델을 자동으로 찾아 링크합니다. 이것은 이러한 관계를 명시 적으로 정의하기 위해 일반 매개 변수를 사용하지 않을 때 특히 유용합니다 [11].

3. 유연성 : MVVMCross는 단순성을 위해 규칙에 의존하지만 유연성도 제공합니다. 개발자는 일반 매개 변수 또는 사용자 정의 구성을 사용하여 필요할 때 이러한 규칙을 무시할 수 있습니다. 이를 통해 특히 복잡한 응용 분야에서 뷰와 뷰 모델이 어떻게 연관되어 있는지를 더 많이 제어 할 수 있습니다 [11].

이익

- 구성 감소 : 컨벤션을 활용하여 개발자는 응용 프로그램 논리에 중점을 둔 구성 코드를 작성하는 데 더 적은 시간을 소비합니다.
- 개선 된 가독성 : 반복적 인 구성 작업이 최소화되면 코드베이스가 더 읽을 수있게됩니다.
- 단순화 된 유지 보수 : 명시 적 구성이 줄어들면 응용 프로그램 유지 관리 및 업데이트가 쉬워집니다.

사용자 정의

MVVMCross는 컨벤션에 크게 의존하지만 사용자 정의도 지원합니다. 개발자는`app '및`setup'과 같은 주요 클래스에서 사용자 정의 로직을 구현하여 기본 동작을 무시할 수 있습니다. 예를 들어, IOC 컨테이너를 사용자 정의하거나 뷰 모델을 구성하고 초기화하는 방식을 변경할 수 있습니다 [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-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-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