代码之家  ›  专栏  ›  技术社区  ›  snemarch

架构帮助:自定义json webservice的wpf/mvvm数据输入前端

  •  0
  • snemarch  · 技术社区  · 15 年前

    我发现自己遇到了一个无架构的问题:我正在从事一个小型项目,其中包括数据输入和持久性,DAL使用带有自定义JSON协议的webservice。到目前为止,一切都很好,这将是一个相对简单的事情拍打起来一些快速&肮脏的 DataTable + DataGrid

    然而,这是一个学习项目,我试图找出如何使用Caliburn进行更简洁的设计,特别是带有WPF gui的MVVM。微观框架。服务器部分是固定的,但我正在做整个客户端部分,包括DAL。

    使用DG+DT组合,在DG中进行一系列编辑非常容易,当用户提交时,只需迭代 Rows RowState 属性并根据需要创建/更新/删除DAL方法。 数据表

    所以我在思考我的设计选择是什么。

    据我所知,DAL应该处理模型层对象(我认为没有必要在这个项目中引入DTO),这些对象将被包装在ViewModels中,然后在编辑器ViewModels中进行数据绑定。

    我还想过 IsModified IsNewlyCreated 属性(我想这些会出现在ViewModel中?)-跟踪已删除的项目可能可以通过将可编辑的项目保存在 ObservableCollection CollectionChanged 事件,并将删除的项目添加到单独的列表中?

    1 回复  |  直到 15 年前
        1
  •  1
  •   TalentTuner    15 年前

    首先

    1-不要做任何更改,直到你达到一个没有代码更改就无法生存的地步。

    3.你考虑过使用Prism+MVVM框架吗?

    4-我仍然建议在ViewModel中,您仍然可以使用DataTable将数据绑定到网格,并使用DataTable。GetChanges()方法将为您提供表中的所有更改,因此您永远不需要维护像IsNew或IsModified这样的布尔变量。