MVVMCross의 설정 클래스는 프레임 워크의 부트 스트레이퍼로서 중요한 역할을 수행하여 응용 프로그램 인프라를 초기화하고 구성하는 일을 담당합니다. iOS, Android 또는 UWP와 같은 모든 플랫폼 별 프로젝트의 필수 구성 요소이며 몇 가지 주요 기능을 제공합니다.
1. 프레임 워크 초기화 : 설정 클래스는 IOC (Control) 컨테이너, 데이터 바인딩 엔진, 뷰 모드/뷰 조회, 내비게이션 시스템 및 플러그인과 같은 필수 구성 요소를 설정하여 MVMCROSS 프레임 워크를 초기화합니다. 이 프로세스는 두 가지 주요 단계에서 발생합니다.`earthetizeprimary`와`초기화 '. 전자는 메인 스레드에서 핵심 구성 요소를 초기화하는 반면, 후자는 플랫폼 서비스를 배경으로 구성한다 [1] [9].
2. 앱 클래스 생성 : 설정 클래스는 핵심 프로젝트에 정의 된`app` 클래스의 인스턴스를 작성해야합니다. `App '클래스는 응용 프로그램의 비즈니스 로직 및 뷰 모델을 초기화합니다 [4] [10].
3. 서비스 등록 : IOC 컨테이너를 사용하여 플랫폼 별 서비스 및 플러그인을 등록 할 수있는 장소를 제공합니다. 이를 통해 개발자는 응용 프로그램에 종속성을 주입하여 다른 플랫폼에서 복잡한 논리를보다 쉽게 관리 할 수 있습니다 [4] [10].
4. 사용자 정의 : 설정 클래스는`initializefirstchance` 및`initializelastchance`와 같은 방법을 통해 사용자 정의 기회를 제공합니다. 이 방법을 통해 개발자는 애플리케이션이 완전히 초기화되기 전에 암호화 서비스와 같은 플랫폼 별 비즈니스 객체 또는 서비스를 등록 할 수 있습니다 [10].
5. 디버깅 및 로깅 : 개발 중에 문제를 진단하는 데 도움이되는 '디버그 트레이스'인스턴스 생성과 같은 디버깅 및 로깅 메커니즘 설정에도 관여합니다 [7].
요약하면, 설정 클래스는 MVVMCross 애플리케이션을 부트 스트랩하는 데 필수적이므로 애플리케이션이 시작되기 전에 필요한 모든 구성 요소가 올바르게 초기화되고 구성되도록합니다. 플랫폼 별 UI 프로젝트와 휴대용 클래스 라이브러리 (PCL) 또는 .NET 표준 라이브러리에 정의 된 핵심 논리 사이의 브리지 역할을합니다.
인용 :[1] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarinios-ui-project
[2] https://stackoverflow.com/questions/34329985/
[3] https://coderpad.io/blog/development/a-guide-to-database-unit-testing-with-pytest-and-sqlalchemy/
[4] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[5] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[6] https://stackoverflow.com/questions/17602137/mvvmcross-how-does-this-get-get-linked-tothe-viewmodel/17602246
[7] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[8] https://nicksnettravels.builttoroam.com/post-2017-12-28-making-mvvmcross-with-xamarin-forms friction-free-aspx/
[9] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[10] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[11] https://stackoverflow.com/questions/48132099/how-is-setup-class-instantiated-in-mvmcross-in-xamarin