2

我正在开始一个新的 ASP.NET Web API 项目。我承认,我从来都不擅长在我的解决方案中组织我的项目。我想在这方面做得更好,因此提出了这个问题。

首先,我计划使用的命名约定是我在多个地方(博客、MSDN 等)找到的,其中包括 CompanyName.ProductName.Component。

我的困惑在于解决方案中的项目。我有服务工作的概念证明,但一切都在一个项目中。它可以工作,但由于各种原因这很糟糕,我想分离组件。该项目使用 EF、数据存储库接口、测试项目、业务对象和我的 Web API 控制器。我应该如何组织我的解决方案和各种项目?

4

1 回答 1

0

对于这个问题,没有一个万能的答案。但是,这是我的默认设置:

在此处输入图像描述

一些附加说明:

虽然 web、core 和 data 的项目名称是 [productName].[layer],但我将默认命名空间和程序集名称更改为 [company].[product].[layer]。我没有完全限定,所以我可以降低路径长度(一旦你在路径中达到 256 个字符,构建就会抱怨)。

模型项目通常也有其他文件夹,例如\validation、\exceptions 等……但我只是想说明一下,我通常将数据访问接口放在模型类旁边。

我不会更改测试项目的默认命名空间或程序集名称,因为它们对于解决方案之外的任何东西都不重要。

话虽如此,如果我的 API 非常简单(只有几个控制器),我可能会选择一个 API 项目和一个测试项目。如果这样做,我会在 API 下为每个逻辑层(核心、数据等)添加文件夹。

于 2012-10-27T03:14:38.857 回答