当太解决方案的逻辑层,当它是最好用一个单独的项目超过只是分组通过一个文件夹?

有帮助吗?

解决方案

默认情况下, 总是创建新的文件夹 在同一个项目

  • 你会得到个单一的组装件(没有额外的ILMerge体操)
  • 更容易混淆(因为你将会有较少的公共类型和方法,理想的情况根本没有)

分离你的源代码,进入多个项目使得只有意义,如果你...

  • 有一些部分的源代码是该项目的一部分,但不可部署的默认情况下,或者在所有(单元的测试,额外的插件等)。
  • 更多的开发者参与和你想要治疗他们的工作作为消耗黑盒子。(不是很建议)
  • 如果你能清楚地分开的项目进入隔离层/模块,你要确保他们不可能跨消耗 内部 成员。(还建议不因为你会需要决定这方面是最重要的)

如果你认为某些部分的源代码可重复使用,仍然不创造它作为一个新的项目。只是等待,直到你会真的想要重新使用它在另一个解决方案和分离它的原有项目的需要。节目不是一个乐高,重复利用通常是非常困难,往往不会发生作计划。

其他提示

分离设项目往往是一个YAGNI结构优化。有多少次你再用那些单独的项目,真的吗?如果它不是一个频繁发生,你在复杂的发展、建立、部署和维护的理论重新使用。

我更希望分离到文件夹(使用适当的名字空间)和重构为单独的项目时已经有了一个现实生活中的重复利用使用情况。

丹尼写道:

我个人觉得,如果可重复使用的代码被分成的项目,它是简单的使用其他的地方比如果这仅仅是在文件夹。

我真的同意这个-如果你可以重复使用,它应在一个单独的项目。与这就是说,它也非常难以重复利用的有效:)

在这里,在我们试图以非常简单的三个项目:

  • 视网项目(它不是一个很好的工作的分离层到文件夹中的默认)
  • 数据库项目的源的控制我们的DB
  • 单元的测试,对视模型/控制器

我不能说出每个人,但我很高兴怎么简单的我们已经把它-真的速度的建立。

我通常做的一个项目GUI一个项目的业务逻辑的一个项目,对数据的访问和项目单元的测试。

但有时这是审慎的做法是有分离基础的服务(如果您使用的是一种面向服务建筑)如验证、销售等。

我猜规则的拇指,我的工作关的是,如果你可以看到它作为一个组件,有一个明确分开的问题则不同项目的可能是谨慎的。但我认为,文件夹和项目的可能只是一个爱好或哲学。

我个人觉得,如果可重复使用的代码被分成的项目,它是简单的使用其他的地方比如果这仅仅是在文件夹。

分离你的源代码转 多个项目使得只有如果 你......更多的开发者参与 和你想要治疗他们的工作 消耗黑盒子。(不是很 建议)...

为什么不是这个建议?我已经找到了一个非常有用的方式管理应用程序与几个开发工作在不同的部分。使得检查更加容易,主要是通过从根本上消除了合并。很少会的两个开发者的工作在相同的项目在同一时间。

如果你不去创造的几个项目,确保每个人增加了代码的解决方案充分意识到其中的意图和他们做一切你可以让他们了解之间的依赖关系的项目。如果你有没有试过排序混乱时,有人已经加入的参考,不应该已经在那里,并带走了几个星期你会明白这一点

我真的觉得这是更好的分项目,但这取决于项目的大小和工作人员的数量。

对于较大的项目,我有一个项目

  • 数据访问(模型)
  • 服务
  • 前端
  • 测试

我得到了该模型,从抢劫*康纳利和他的店面应用程序...似乎真的很好。

视-的店面

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top