业务逻辑和反序列化
Business logic and deserialization
我正在 ASP.NET Core 中开发一个软件,我遵循服务和存储库模式。我有一个用例,其中包括创建生产订单。为此,用户提供了一些参数(数量、产品等),其中一个参数是另一个软件系统(我也有一个存储库)中文件的路径
创建订单的逻辑基本上是访问文件(XML),在非持久对象中反序列化它并在我的数据库中创建一个寄存器(table Order
).此订单的数据部分填充了 XML 数据。
我不清楚这个逻辑应该在哪一层,因为这里我需要将XML反序列化为一个对象,然后处理它来创建订单。
此流程是业务逻辑、服务逻辑或存储库逻辑的一部分吗?
一个 link 正确解释了逻辑类型之间的差异是惠康。
业务逻辑:)
我拆分了我的应用程序,因此所有业务逻辑都位于一个 class 中,该 class 被注入到我的控制器中,而数据存储库也被注入到其中。我让控制器只处理 HTTP 位,而将逻辑留在另一个 class 中,以便为它编写测试更容易。
例如:
Project: Api + Web Models.
Versioned Controllers.
Web Only Helpers.
项目:服务。
Business Layer.
Logging.
项目:数据层存储库
Database + Cache
项目:非 Web 模型/域 ORM 模型
项目:公用事业
Extra methods/common helpers.
Miscellaneous features such as serializers/compressors.
Enums.
Factories.
项目:可选测试。
UnitTests.
在这里阅读:
https://diatomenterprises.com/asp-net-mvc-business-logic-as-a-separate-layer/
我正在 ASP.NET Core 中开发一个软件,我遵循服务和存储库模式。我有一个用例,其中包括创建生产订单。为此,用户提供了一些参数(数量、产品等),其中一个参数是另一个软件系统(我也有一个存储库)中文件的路径
创建订单的逻辑基本上是访问文件(XML),在非持久对象中反序列化它并在我的数据库中创建一个寄存器(table Order
).此订单的数据部分填充了 XML 数据。
我不清楚这个逻辑应该在哪一层,因为这里我需要将XML反序列化为一个对象,然后处理它来创建订单。 此流程是业务逻辑、服务逻辑或存储库逻辑的一部分吗?
一个 link 正确解释了逻辑类型之间的差异是惠康。
业务逻辑:)
我拆分了我的应用程序,因此所有业务逻辑都位于一个 class 中,该 class 被注入到我的控制器中,而数据存储库也被注入到其中。我让控制器只处理 HTTP 位,而将逻辑留在另一个 class 中,以便为它编写测试更容易。 例如:
Project: Api + Web Models.
Versioned Controllers.
Web Only Helpers.
项目:服务。
Business Layer.
Logging.
项目:数据层存储库
Database + Cache
项目:非 Web 模型/域 ORM 模型
项目:公用事业
Extra methods/common helpers.
Miscellaneous features such as serializers/compressors.
Enums.
Factories.
项目:可选测试。
UnitTests.
在这里阅读: https://diatomenterprises.com/asp-net-mvc-business-logic-as-a-separate-layer/