【发布时间】:2021-06-09 17:18:33
【问题描述】:
制作我的第一个 WPF MVVM 应用程序时,我对视图模型的组织有疑问。我有一个与 ClassB 一对多关系的 ClassA
我希望主视图看起来像这样。它包含来自 A 类的一些信息以及与 A 类关联的所有 B 类实例的列表视图
我提出了两种方法,但我不确定哪个组织(如果有的话)被认为是最好的方法。 (这是一个标准的 CRUD 应用程序:我希望能够修改 A 类,从 A 类中添加和删除 B 类,修改 B 类)
方法 1 主视图模型包含一个 ClassAViewModel 和一个 ClassBViewModel 列表
方法 2 主视图模型包含一个 ClassAViewModel。 ClassAViewModel 处理自己的 ClassBViewModel 列表
对于哪种方法最适合我/一种新方法,我将不胜感激。我也愿意接受任何有助于我更好地理解软件设计和一般最佳实践的资源建议
【问题讨论】:
-
在没有任何其他知识的情况下查看方法 2 的插图,这种关系立即显而易见。我看不出方法 1 比方法 2 有什么好处——你为什么还要考虑这个?例如。您希望能够从 A 类中删除 B 类,因此当 ClassBViewModel 知道它是 Parent ClassAViewModel(反之亦然)时,这是有益的。如果两个 B 引用相同的模型数据也不是问题。
标签: wpf design-patterns mvvm viewmodel