Visual Studio解决方案/项目组织

时间:2011-07-25 16:02:52

标签: visual-studio visual-studio-2010 projects-and-solutions projects

假设您正在创建一个复杂的后端系统。在系统的某个地方,您有一个IQueue接口。您计划为队列实现多个实现:

  • 天真的“记忆中”
  • 数据库(队列在数据库中管理)
  • Amazon SQS(在云中使用Amazon SQS服务)
  • MS / Google /其他排队服务

显然,每个实现都需要它自己的类和实现。每个实现可能需要不同的引用(数据库将要求DLL与相关数据库通信,Amazon SQS将需要Amazon AWS DLL等)。

您如何为这种情况组织解决方案?

假设接口和朴素实现是项目中使用队列的位置,我看到以下可能的选项:

  • 为每个实现分离Visual Studio(以及它们的程序集):
    • 专业:清洁项目,项目层面的“单一责任”,更容易更新具体实施
    • Con:许多项目,许多要管理/部署的程序集,较慢的Visual Studio
  • 所有“非天真”实施的单一项目:
    • Pro / Con:与第一个选项完全相反。

1 个答案:

答案 0 :(得分:2)

在我看来,出于你列出的原因,为每个实现进行单独的Visual Studio项目列出的第一条路线是更好的路线。它还有一个额外的好处,即能够随时添加实现而无需替换二进制文件,这有点不错。