繁体   English   中英

我可以在我的 ApplicationLogic 项目(net standard 2.1)中的 MVC(.net core 3.0)项目中使用视图模型吗?

[英]Can I use viewmodels in my MVC(.net core 3.0) project in my ApplicationLogic project (net standard 2.1)

我有一个 MVC 应用程序,我的所有视图模型都在其中。我添加了一个业务逻辑层项目,这是一个 class 库项目网络标准 2.1,我的所有接口和服务都在其中。 我正在尝试在业务逻辑项目中使用我的视图模型,但我无法在那里引用它们。 我想知道是否可以在 class 库中引用 MVC 应用程序,如果我不想添加 DTO,我可以将我的视图模型放在哪里,因为我的应用程序不是一个很大的项目。

这里有很多混乱。 首先,视图 model 或 DTO 并没有什么神奇之处,其名称只是对特定使用上下文的描述。 归根结底,您有一个 class 代表特定上下文中的一些数据集合:仅此而已。 其次,业务逻辑不是应用程序逻辑。 应用程序逻辑是关于表示和用户交互的,而业务逻辑是关于原始数据的。 这两件事不应该交叉,因为业务规则不应该决定展示,展示也不应该决定业务规则。

业务层不应该对应用层(MVC 应用程序)中的视图模型一无所知,因为这会产生紧密耦合(以及循环引用,FWIW)。 将应用层中的视图模型映射到/从应用层中的实体映射到业务层中的实体的逻辑仅是应用层的领域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM