Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 유창한 바인딩은 스위스/티베트 바인딩에 비해 양방향 데이터 바인딩을 어떻게 처리합니까?


유창한 바인딩은 스위스/티베트 바인딩에 비해 양방향 데이터 바인딩을 어떻게 처리합니까?


유창한 바인딩 및 스위스/티베트 바인딩은 크로스 플랫폼 개발에 사용되는 MVMCross 프레임 워크의 일부입니다. 두 방법 모두 데이터 바인딩을 용이하게하지만 구문과 사용이 다릅니다. 특히 양방향 데이터 바인딩을 처리하는 방법.

유창한 바인딩

MVVMCross의 유창한 바인딩은보기와 뷰 모델 사이의 데이터를 바인딩하는보다 현대적이고 유연한 방법을 제공합니다. 그들은 읽고 쓰기 쉬운 유창한 구문을 허용하여 개발자가 복잡한 바인딩을 관리하는 것이 더 간단합니다. 양방향 데이터 바인딩의 맥락에서, 유창한 바인딩은 양쪽이 변경 될 때 두 가지를 자동으로 업데이트하여보기와 뷰 모델 사이의 원활한 상호 작용을 가능하게합니다. 이것은 실시간 동기화가 중요한 경우 양식을 편집하는 데 특히 유용합니다.

유창한 바인딩은 값 변환기를 지원하며, 뷰와 뷰 모델 사이의 데이터 유형이 다를 때 양방향 데이터 바인딩에 필수적입니다. 이 변환기는 양방향으로 데이터 변환을 처리하기 위해 'Convert'및 'Convertack'메소드를 모두 구현합니다 [7].

스위스/티베트 바인딩

스위스와 티베트 바인딩은 데이터 바인딩에 MVVMCross에서 사용되는 구진 구문입니다. 또한 양방향 데이터 바인딩을 지원하지만 구문이 다릅니다. 예를 들어, 스위스 구문은보기의 대상 속성이 뷰 모델의 소스 경로에 연결되는 간단한 형식을 사용합니다. 양방향 바인딩을 지원하지만 복잡한 시나리오에 대한 유창한 바인딩만큼 유연하거나 읽기 쉬운 것은 아닙니다.

스위스 바인딩은 필요한 경우 결합 모드를 명시 적으로 지정해야하며, 이는 일방 통행, 양방향 또는 일회성 바인딩을 포함 할 수 있습니다. 그러나 유창한 바인딩과 동일한 수준의 유연성을 제공하지 않을 수 있습니다.

비교

- 구문 및 가독성 : 특히 복잡한 시나리오에서 유창한 바인딩은 일반적으로 더 읽기 쉽고 관리하기 쉽습니다. 스위스/티베트 바인딩은 더 간단한 구문을 가지지 만 유연하지 않을 수 있습니다.

- 값 변환기의 유연성 : 값 변환기를 처리 할 때 유창한 바인딩이 더 유연합니다. 이는 데이터 유형이보기와 뷰 모델이 다를 때 양방향 데이터 바인딩에 중요합니다.

- 사용 : 두 방법 모두 양방향 데이터 바인딩을 지원하지만, 유창한 바인딩은 가독성과 유연성으로 인해 최신 응용 분야에서 더 일반적으로 사용됩니다.

요약하면 유창함과 스위스/티베트 바인딩은 양방향 데이터 바인딩을 지원하지만 유창한 바인딩은보다 현대적이고 유연하며 읽기 쉬운 접근법을 제공하므로 복잡한 응용 분야에 바람직합니다.

인용 :
[1] https://www.reddit.com/r/javascript/comments/v993r4/askjs_why_is_oneway_binding_better_than_twoway/
[2] https://medium.datadriveninvestor.com/implementing-two-way-data-binding-without-using-any-framework-703963d00a94
[3] https://www.bennadel.com/blog/3538-on-the-irrational-demonization-of-two-way-data-binding-in-angular.htm
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://www.telerik.com/blogs/angular-basics-data-binding-part-8-two-way-data-binding
[6] https://handsontable.com/blog/understanding-data-binding-in-react
[7] https://stackoverflow.com/questions/19712103/fluent-binding-and-conversions
[8] https://www.telerik.com/blogs/blazor-basics-data-binding