【问题标题】:How do you structure your business logic folders? [closed]您如何构建业务逻辑文件夹? [关闭]
【发布时间】:2018-10-14 12:57:45
【问题描述】:

我已经阅读了很多关于你们如何组织业务逻辑的文章,很明显,只要将视图与应用程序中的其他层解耦,就没有错误的实现。

我的问题与层的物理实现有关,而不是概念上的。您更喜欢如何实际实现业务逻辑层的结构?

我倾向于有一个“服务”文件夹,其中包含应用程序每个模块/部门的持久性和查询服务类。

您对业务层文件夹结构的偏好是什么,所以如果您要从解决方案资源管理器中查看它,您倾向于/更喜欢创建哪些文件夹和子文件夹?

编辑:

我在问您喜欢将文件夹标记为什么。我将我的模块文件夹称为“服务”,我还看到它们被标记为“EntityHelpers”。

【问题讨论】:

  • 这是基于意见的(根据help center,这是题外话
  • 我相信这是“视情况而定”是正确答案的问题之一。如果您可以在一个文件夹中处理所有内容,请执行此操作,如果您觉得需要进行一些分离,请选择它。

标签: c# logic structure implementation


【解决方案1】:

您在问建筑的基本问题:“我有很多逻辑......我如何构建它?”很难简单地回答这样一个笼统的问题,因为很多书都写过这个问题的各个方面

基本设计原则:分层、切片、关注点分离、单一职责、高内聚-低耦合等应该应用于架构的所有级别,而不仅仅是顶层。

【讨论】:

  • 我的问题具体与业务层的文件夹结构有关,所以如果您从解决方案资源管理器中查看它,您倾向于创建哪些文件夹和子文件夹?
【解决方案2】:

“文件夹”组织您的解决方案不会过于简单。虽然,如果您正在处理一个相对较小的问题,那应该就足够了。考虑分层并保持业务逻辑紧密和一致,我建议您阅读 Eric Evans 的有关 DDD 的更多信息。

您将在域层中创建业务逻辑,将其与视图(不一定是 Web)、应用程序和基础架构逻辑分离。

查看 Microsoft example,它抓住了 DDD 的精髓。 还有一本 Vaughn Vernon DDD 书,他提供了一种实用的方法来理解它的使用。

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 2012-08-26
    • 1970-01-01
    • 2018-05-15
    • 2011-12-22
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多