2

我有一个包含大约一百个项目的大型解决方案。有人说太多了,有人说还可以。问题的根源实际上是应该使用什么标准来决定是否创建另一个 Visual Studio 项目,而不是使用已经存在的项目?最佳做法是什么?

例如:

1) 当添加一个在某种程度上独立于其他现有功能的新功能时,我应该创建一个新项目吗?这是创建新项目的正确理由还是错误理由。这里应该使用命名空间吗?

2) 在开发另一个层或层(经典的数据访问、业务、表示层)时,我是否应该创建一个新项目。这里应该使用命名空间吗?

3)我是否应该创建新项目以将我的接口与我的实现分开。这足以成为创建新项目的理由吗?

等等。这些子问题并不需要具体回答,但这是我正在寻找的标准。

谢谢

4

2 回答 2

0

基本上我会说,当您需要创建一个至少被 2 个程序集使用的新程序集时,您需要创建一个新项目,其余的只使用命名空间。

例如,假设您有一个业务逻辑层,它用于 2 个共享一些通用规则的不同应用程序中,您可以创建一个新项目。如果稍后您想添加特定于其他项目的新规则,您仍然可以使用命名空间BusinessLogic但创建一个新项目。

关键是要了解命名空间和程序集的使用。大部头书:

  • 命名空间对于分离关注点很有用,例如 BusinessLogic 不应与 DataAccess 位于同一命名空间中。
  • 出于技术原因,程序集很有用,例如我想在其他程序集中使用此程序集。

通过遵循这些定义,您可以轻松地重构代码,或者从现有代码创建一个新程序集,一段时间后需要在其他地方使用,而无需更改命名空间和编辑现有工作代码。

要回答您的具体问题:

1)如果这是一个将动态实例化的“可插入”功能,那么是的,如果不是,你不需要这样做(虽然我不是说这会很糟糕)

2) 无论如何都应该使用命名空间

3)如果你动态实例化你的实现,我会说是的,否则命名空间会完成这项工作

于 2013-09-17T15:46:54.530 回答
0

为了维护这些大号。项目,Solution Folders用于对属于相同功能、层、层的项目进行分组,请参阅MSDN 上的使用解决方案文件夹

另请参阅这些文章和 SO QA,以获取有关构建解决方案和项目的帮助参考和建议Visual Studio

如何构建 Visual Studio 解决方案

查看新的 VS 工具:分层架构解决方案指南 2012

解决方案:每个应用程序或每个应用程序套件

终极 Visual Studio 解决方案结构

在 Visual Studio 和 Team Foundation 中构建解决方案

于 2013-09-17T15:49:46.840 回答