Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross에서 일회성 데이터 바인딩의 일반적인 사용 사례는 무엇입니까?


MVVMCross에서 일회성 데이터 바인딩의 일반적인 사용 사례는 무엇입니까?


MVVMCross에서, 일회성 데이터 바인딩은 바인딩이 설정 될 때 데이터가 뷰 모델에서 뷰로 한 번만 전송되는 모드입니다. 이 초기 전달 후, 바인딩은 변경 사항을 모니터링하지 않으며 바인딩 소스 자체가 재설정되지 않는 한 업데이트를 수행하지 않습니다. 일회성 데이터 바인딩을위한 몇 가지 일반적인 사용 사례는 다음과 같습니다.

1. 언어 파일의 정적 텍스트 : 언어 파일에서 정적 텍스트를 설정할 때 일회성 바인딩이 특히 유용합니다. 일단 언어가 선택되면 사용자가 언어를 변경하는 것은 드문 일이므로 지속적인 업데이트가 필요하지 않습니다. 이 접근법은 깨끗하고 효율적인 바인딩 설정을 유지하는 데 도움이되며, 발생할 가능성이없는 변경 사항에 대한 불필요한 점검을 피하기 때문입니다 [2].

2. 구성 가능하지만 거의 변경되지 않는 데이터 : 구성 가능하지만 처음에 설정된 후에는 자주 변경되지 않는 필드의 경우 일회성 바인딩이 유리할 수 있습니다. 여기에는 초기화 중에 설정된 설정 또는 데이터가 포함되며 응용 프로그램 런타임 내내 일정하게 유지됩니다.

3. 성능 최적화 : 일반적으로 일원 바인딩 사용에 대한 성능 페널티는 없지만 일회성 바인딩은 변경 감지와 관련된 잠재적 오버 헤드를 제거하여 성능을 더욱 최적화 할 수 있습니다. 이것은 데이터가 정적으로 알려져 있고 업데이트가 필요하지 않은 시나리오와 관련이있을 수 있습니다.

4. 불필요한 업데이트 감소 : 데이터가 대부분 정적이며 한 번만 표시되면 일회성 바인딩을 사용하면 불필요한 업데이트가 방지됩니다. 이는 특히 복잡하거나 데이터 집약적 인 응용 프로그램에서 변경 사항에 대한 빈번한 검사와 관련된 계산 간접비를 줄이는 데 도움이 될 수 있습니다.

5. 조건부 로직 단순화 : 정적 데이터에 일회성 바인딩을 사용하여 개발자는 화면 레이아웃 또는 데이터 프리젠 테이션과 관련된 조건부 로직을 단순화 할 수 있습니다. 이는 정적 데이터 디스플레이에서 동적 데이터 처리를 분리하여 클리너 코드베이스를 유지하는 데 도움이됩니다.

요약하면, MVVMCross의 일회성 데이터 바인딩은 데이터가 정적이거나 거의 변경되지 않는 시나리오에 이상적이므로 지속적인 변경 모니터링의 오버 헤드없이 효율적이고 간단한 데이터 프리젠 테이션이 가능합니다.

인용 :
[1] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[2] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[3] https://www.reddit.com/r/androiddev/comments/ux9379/what_are_the_the_cases_of_data_binding_and_when/
[4] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
[5] https://stackoverflow.com/questions/48910503/binding-mode-onetime-in-mvxrecyclerview
[6] http://stackoverflow.com/questions/10700445/in-mvvmcross-how-do-do-custom.-bind-properties
[7] https://stackoverflow.com/questions/25460030/when-to-us-mvvmcross-bindings
[8] https://github.com/mvvmcross/mvvmcross/issues/421
[9] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross