Jan*_*hal 6 c# model-view-controller asp.net-mvc design-patterns software-design
如果我有一个旨在用于视图目的的Viewmodel -
向viewmodel添加一堆静态方法是一个好习惯 - 通过使用db中的数据获取项目列表(viewmodel对象)? - 使用viewmodel中的属性更新数据库?
我正在使用.NET MVC,感觉我的viewmodels混乱了大量的静态函数和更新方法.
为视图创建viewmodel背后的主要原因是因为视图开始包含许多功能,因此必须从所有地方获取信息.因此,我决定创建一个viewmodel,通过一次调用从一个地方获取信息.
我在这里遵循一个好的编码模式吗?还是我在黑暗中拍摄?
向viewmodel添加一堆静态方法是一种很好的做法
不,您的viewmodel应该只是一个POCO,包含很少(如果不是零)业务逻辑.视图模型的唯一作用是将数据从控制器移动到视图.
如果您阅读MVC模式的维基百科页面.您会注意到它仅用于数据表示,而不是业务逻辑:
模型 - 视图 - 控制器(MVC)是用于实现用户界面的软件架构模式.
所以MVC对象(模型,视图或控制器)都不应该包含业务逻辑.MVC模式的工作是渲染数据(句号)
这一切都表示将简单的业务逻辑放入控制器是很常见的.但是,一旦网站变得更加复杂,就应该避免这种情况,因为害怕创建一个神对象