首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >厚视图模型导致模型变薄

厚视图模型导致模型变薄
EN

Software Engineering用户
提问于 2018-01-24 16:11:20
回答 1查看 170关注 0票数 2

一个视图模型应该有多厚?例如,我的视图模型或模型应该处理实际的筛选吗?

例如,假设我有一个名册对象,它保存了分配给类型(即全职、兼职等)的用户集合。与其拥有一个大型视图模型来处理全职或兼职的筛选(因为这是客户端选择的内容),不如由名册模型通过使用roster.GetUsersByType(type)来处理这个问题。

我的Schedule对象(包含事件列表)也有类似的问题。在我看来,由于我有一个包含所有用户日程的主计划,所以最好由模型过滤它,并给我一些类似Schedule userSchedule = masterSchedule.GetScheduleOfUser(user)Schedule selectedSchedule = masterSchedule.GetScheduleByDateInterval(dateFrom, dateTo)的东西。

此外,如果我想交换视图来测试一个新的字段(因此,需要一个新的视图模型),那么我需要将这个过滤逻辑添加到新的视图模型中(违反DRY)。

然而,我读到很多视图模型应该很厚,并且应该处理过滤和UI逻辑。我是不是理解错了?似乎大多数人在做MVVM时都会实现贫血的域模型(因为这是大多数教程所展示的.例如,对我来说,这将是带有用户对象和事件对象的ObservableCollection在ViewModel中)。

但是,尽可能地将逻辑推入各个组件中似乎更自然。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2018-01-24 16:17:58

如果您期望在程序中的多个地方使用过滤器方法,如果您知道过滤器只会在特定的ViewModel中使用一次,那么我将倾向于在模型中进行过滤。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/364608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档