Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross의 다른 바인딩 모드에 비해 일회성 결합을 사용하면 어떤 이점이 있습니까?


MVVMCross의 다른 바인딩 모드에 비해 일회성 결합을 사용하면 어떤 이점이 있습니까?


MVVMCross에서 일회성 바인딩을 사용하면 다른 시나리오에서 다른 바인딩 모드에 비해 몇 가지 이점이 있습니다.

1. 오버 헤드 감소 : 한 번의 바인딩은 변경 사항을 지속적으로 모니터링하지 않고도 뷰 모델에서 뷰로 한 번만 값을 설정해야 할 때 유용합니다. 이렇게하면 프레임 워크가 뷰 모델에서 업데이트를들을 필요가 없기 때문에 바인딩 유지 보수와 관련된 오버 헤드가 줄어 듭니다. 이것은 언어 파일의 텍스트와 같이 설정되면 변경되지 않는 정적 데이터에 특히 유리합니다 [1] [3].

2. 재활용 뷰의 성능 :`MVXRecyClerview '와 같은 재활용 뷰에서 일회성 바인딩이 문제가 될 수 있지만, 뷰가 재활용되지 않거나 데이터가 정적이며 동적으로 업데이트 될 필요가없는 시나리오에 이상적입니다. 그러나, 뷰가 재활용되는 경우, 뷰가 화면에 나타날 때 뷰가 재사용되고 반등하기 때문에 일회성 바인딩이 예상대로 작동하지 않을 수 있습니다 [7].

3. 단순화 된 바인딩 인프라 : 일회성 바인딩은 바인딩 컨텍스트가 변경 될 때만 업데이트되므로 소스 속성 변경을 모니터링 할 필요성을 제거하여 바인딩 인프라를 단순화합니다. 이로 인해 클리너 코드와 지속적인 업데이트와 관련된 잠재적 문제가 줄어 듭니다 [4].

4. 읽기 전용 데이터에 적합 : 일회성 바인딩은 초기화 시간에 알려져 있고 변경되지 않는 읽기 전용 데이터를 표시하는 데 적합합니다. 여기에는 데이터가 한 번 설정되고 추가 업데이트가 필요하지 않은 식당 시간과 같은 정적 정보를 보여주는 것과 같은 시나리오가 포함됩니다 [3].

5. 정적 데이터와의 일관성 : 특정 데이터가 정적이고 자주 변경되지 않는 응용 분야에서 일회성 바인딩은 불필요한 업데이트 없이이 데이터를 올바르게 설정하도록합니다. 이것은 연속 모니터링의 오버 헤드없이 UI에서 일관성을 유지합니다 [1] [3].

요약하면, MVVMCross의 일회성 바인딩은 지속적인 업데이트가 필요하지 않은 정적 데이터를 처리 할 때 유리하며 오버 헤드 감소 및 단순화 된 바인딩 관리를 제공합니다. 그러나 동적 또는 자주 변화하는 데이터 또는 뷰가 재활용되는 시나리오에는 적합하지 않을 수 있습니다.

인용 :
[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-us-a-project
[3] https://stackoverflow.com/questions/25460030/when-to-use-mvvmcross-bindings
[4] https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/binding-mode?view=net-maui-9.0
[5] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
[6] https://stackoverflow.com/questions/17156368/
[7] https://stackoverflow.com/questions/48910503/binding-mode-onetime-in-mvxrecyclerview
[8] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[9] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle