【发布时间】:2016-12-28 00:00:04
【问题描述】:
我一直从事网站开发工作,最近开始使用 MVC 创建一个电子商务项目。
我决定用洋葱架构来开发它。据我了解,我的逻辑分为两个不同的领域:应用程序逻辑和业务逻辑。
如您所知,我有两个地方可以实现这些逻辑:业务逻辑的域层和应用程序逻辑的服务层。而且根据洋葱架构,域层与基础设施层等上层没有关系。
所以我必须在领域层检查这些业务逻辑,并根据情况抛出适当的异常。例如,“产品价格为正”是一个业务逻辑。此逻辑不需要与数据库有关系。但是如果我想检查“duplicate Name for product”怎么办。我确信我不应该在服务层检查这个逻辑。我应该在哪里以及如何检查这些逻辑。
如果我必须有一个验证层,如何建立这个层的关系? 感谢您的回复。
【问题讨论】:
-
看到领域驱动设计标签,你是否使用了 DDD 的战术模式(聚合、实体、值对象等)?
-
是的,我正在使用领域驱动设计架构。
标签: c# model-view-controller domain-driven-design business-logic onion-architecture