Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 是否有特定方案,使瑞士数据指标优于流利的数据指标


是否有特定方案,使瑞士数据指标优于流利的数据指标


在MVVMCROSS中,瑞士和流利的数据标记都用于连接视图以查看模型,但它们的目的略有不同,并且在不同的情况下是优选的。

Swiss DataBinding

与其前身JSON DatabInding相比,瑞士数据框提供了更清洁且较少的详细语法。当您需要直接直接在XML布局文件中定义绑定时,它特别有用。瑞士绑定易于读写,使其适用于语法需要简洁且易于理解的简单直接绑定。

瑞士数据指标可能是首选的一种具体情况是,当您需要快速在XML文件中设置绑定时,尤其是在通常使用XML布局且易于编辑的平台中,例如Android。但是,除非重置绑定源,否则瑞士数据框不会主动监视视图模型的更改,这在需要实时更新的情况下可能是一个限制。

##流利的数据指标

另一方面,Fluent DatabInding提供了用于构建绑定的基于C#的语法。这种方法在XML布局不容易人为编辑(例如iOS和MACOS)的环境中特别有益。流利的绑定允许更复杂和动态的绑定设置,使其非常适合您需要通过编程方式操纵绑定或处理更复杂的逻辑的场景。

当您需要以编程方式创建绑定时,会首选流利的数据指标,这可以更灵活,更强大,尤其是在复杂的应用程序中,或者在不支持有效支持XML布局的平台时。

##优先场景

- 瑞士数据指标是以下情况时首选的。
- 您需要一个简单,易于阅读的绑定语法,尤其是在XML文件中。
- 该应用程序不需要连续监视视图模型的更改。
- 您正在XML布局易于编辑的环境中工作。

- 当:
- 您需要以编程方式创建绑定,从而允许更多动态和复杂的设置。
- 您正在处理XML布局不容易编辑(例如iOS)的平台。
- 应用程序需要对绑定逻辑或需要处理复杂方案的更多控制。

总而言之,虽然瑞士和流利的数据指标都具有其优势,但它们之间的选择取决于您应用程序的特定要求,包括对简单性与复杂性的需求以及您正在开发的平台。

引用:
[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://crosscuttingconcerns.com/mvvmcross-fluent-databinding
[3] https://stackoverflow.com/questions/41462365/what-are-are-the-pros-and-cons-of-android-data绑定
[4] https://stackoverflow.com/questions/60500840/should-view-binding-replace-data绑定
[5] https://learn.microsoft.com/en-us/dotnet/desktop/wpf/data/?view=netdesktop-9.0
[6] https://www.phunware.com/android-clean-coding-apphacch/
[7] https://www.reddit.com/r/androiddev/comments/ux9379/what_are_the_the_use_cases_of_data_binding_anding_and_and_when/
[8] https://jesseliberty.com/2022/02/01/advanced-databinding-part-0-basics/