Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross에서 아동 용기 사용의 이점은 무엇입니까?


MVVMCross에서 아동 용기 사용의 이점은 무엇입니까?


MVVMCross에서 하위 컨테이너를 사용하면 특히 복잡한 응용 분야의 종속성 관리에 몇 가지 이점이 있습니다. 주요 장점은 다음과 같습니다.

종속성 관리의 유연성

하위 컨테이너를 사용하면 앱 전체 컨테이너에 영향을 미치지 않고 특정 목적으로 인스턴스 또는 유형을 등록 할 수 있습니다. 즉, 응용 프로그램의 다른 부분에 대한 서비스 또는 인터페이스의 다른 구현을 가질 수 있습니다. 이는 특정 기능 또는 세션에 대한 종속성을 분리 해야하는 시나리오에서 특히 유용합니다 [1] [4].

종속성의 분리

하위 컨테이너를 사용하면 수명이 제한되어 있거나 특정 컨텍스트와 관련된 종속성을 분리 할 수 ​​있습니다. 이것은 깨끗하고 체계적인 종속성 구조를 유지하는 데 도움이되므로 응용 프로그램을보다 쉽게 ​​관리하고 디버깅 할 수 있습니다 [1] [4].

의존성 상속

각 어린이 컨테이너는 부모 컨테이너에 등록 된 모든 종속성을 상속합니다. 이를 통해 응용 프로그램의 다른 부분에서 공통 서비스에 대한 등록을 복제 할 필요가 없습니다. 대신, 아동 컨테이너의 범위에 필요한 특정 종속성 만 등록하는 데 집중할 수 있습니다 [1] [4].

깊은 둥지

MVVMCross를 사용하면 필요에 따라 깊고 중첩 된 어린이 용기를 만들 수 있습니다. 이 유연성은 기본 응용 프로그램의 종속성을 방해하지 않고 다른 모듈이나 기능이 고유 한 종속성 세트를 요구하는 복잡한 애플리케이션에서 유리합니다 [1] [4].

단순화 된 테스트

하위 컨테이너를 사용하면 특정 테스트 시나리오의 종속성을 쉽게 조롱하거나 교체 할 수있어 테스트를 단순화 할 수 있습니다. 이 격리는 전체 응용 프로그램의 종속성 구조에 영향을 미치지 않으면 서보다 집중된 단위 테스트를 작성하는 데 도움이됩니다 [5].

개선 된 모듈성

어린이 용기는 더 세밀하게 의존성을 관리 할 수있게하여 모듈성을 촉진합니다. 이 모듈성은 다른 플랫폼마다 다른 서비스 또는 인터페이스 구현이 필요할 수있는 크로스 플랫폼 개발에 중요합니다 [5] [7].

전반적으로 MVVMCross의 아동 컨테이너는 복잡한 응용 프로그램의 종속성을 관리하고 유연성, 모듈성 및 유지 관리를 향상시키는 강력한 도구를 제공합니다.

인용 :
[1] https://www.mvvmcross.com/documentation/fundamentals/inversion-of-control-ioc
[2] https://canbilgin.wordpress.com/2017/02/26/developing-universalcross-platform-apps-with-mvvm-vii/
[3] https://www.palmmedia.de/blog/2011/8/30/ioc-container-benchmark-performance-comparison
[4] https://www.mvvmcross.com/mvvmcross-6.0.0-release/
[5] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework-2920
[6] https://github.com/aalice072/mvvmcross/blob/master/changelog.md
[7] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[8] https://livebook.manning.com/book/xamarin-in-action/chapter-4/
[9] https://stackoverflow.com/questions/16514691/child-containers-in-mvvmcross-ioc