1

为什么以及何时应该在 Visual Studio 解决方案中创建新项目?更具体地说,什么时候应该将主项目分成多个项目?

我们都知道数据库文件应该被主项目分开,实体框架模型应该分开,但是“组件”呢?

假设我有一个 WebAPI 项目,其中包含一些 API 和一些功能,包括实体框架和数据库文件。Atm 这些功能包含在主项目中,我的解决方案结构是:

- App.Api [Main project, With Feature1, Feature2, Feature3, FeatureX, Reference projects App.Models]
|- ApiControllers
|- Helpers
|- Managers
|- Assets
|- Web.config

- App.Models [Models Project]
|- Entity Framework Auto Generated Models

- App.Database [Database Project]
|- Sql Files 

如果我将我的功能拆分到多个项目中并将它们包含在主项目中,使用主项目作为其他项目的“HEAD”怎么办?就像是:

- App.Api [Main project, reference Projects App.Feature.Feature1, App.Feature.Feature2, App.Feature.Feature3, App.Feature.FeatureX, App.Models]
|- ApiControllers
|- Web.config

- App.Feature.Feature1 [Library Project - Feature 1, splitted from main project]
|- Managers
|- Helpers
|- Other files *.cs

- App.Feature.Feature2 [Library Project - Feature 2, splitted from main project]
|- Managers
|- Helpers
|- Other files *.cs

- App.Feature.Feature3 [Library Project - Feature 3, splitted from main project]
|- Managers
|- Helpers
|- Other files *.cs

- App.Feature.FeatureX [Library Project - Feature X, splitted from main project]
|- Managers
|- Helpers
|- Other files *.cs

- App.Models [Models Project]
|- Entity Framework Auto Generated Models

- App.Database [Database Project]
|- Sql Files 

之后,我可以在每个项目上附加一些单元测试:

- App.Api [Main project]
- App.Feature.Feature1 [Feature 1, splitted from main project]
- App.Feature.Feature1.Tests
- App.Feature.Feature2 [Feature 2, splitted from main project]
- App.Feature.Feature2.Tests
- App.Feature.Feature3 [Feature 3, splitted from main project]
- App.Feature.Feature3.Tests

所以,这就是问题所在。为什么,为什么不以及何时创建多个项目?

我发现这种方法比第一种更干净

4

0 回答 0