首页 文章

Xamarin Forms和MVVM - 代码背后是View-Model?

提问于
浏览
0

我承认MVVM(Model,View,ViewModel)的模式具有'model'(数据片段),view(接口)和viewmodel(数据和接口之间的逻辑) .

使用Xamarin表单时,有 Page.XamlPage.Xaml.cs .

如果我的整个界面都是用xaml编码的,并且代码隐藏文件中没有写入GUI .

Does this mean that the Page.xaml.cs to a xamarin forms page is the ViewModel?

我目前的结构如下..

  • 页面(GUI)

  • 页面代码后面(存储对我们正在使用的对象的引用,如果有的话 . 还具有基于模型中的值更新字段的逻辑等)

  • 模型本身(字段和操作模型的任何方法)

2 回答

  • 2

    MVVM是Model View ViewModel . MVVM是一种软件架构模式,有助于解耦视图,数据和业务逻辑 . 任何体系结构模式都有助于为代码提供更好的可维护性和可测试性 . 现在您的问题"Does this mean that the Page.xaml.cs to a Xamarin Forms page are the ViewModel"不是 . 它不是ViewModel .
    要获得更多信息,请使用此功能(https://developer.xamarin.com/guides/xamarin-forms/xaml/xaml-basics/data_bindings_to_mvvm/) .

  • 0

    没有 .

    确定这一点的相对简单的方法是:可以在单元测试中测试代码吗?

    Page.xaml.cs中的代码需要实例化页面才能进行测试 . 由此产生的复杂性和依赖性使得无法将其称为单元(隔离)测试 .

    MVVM的目标之一是提高代码的可测试性 . 代码背后很难测试 .

    业务逻辑属于ViewModel和Model . 后面的代码在其DataContext中“查找”其ViewModel,并且只应通过绑定传播值并在ViewModel上执行命令 . 应该没有业务逻辑,因为它无法测试 .

    代码隐藏应仅关注显示逻辑和用户交互(拖放,单击,排序等),在大多数情况下,此逻辑已在现有控件中可用,并且可能通过XAML进行配置 .

相关问题