2012-06-25 132 views
5

我已经为我的web应用程序提供了近12个项目和3个网站的解决方案。 有一些项目用于多个网站,如MyProject.BE/MyProject.BLL/MyProject.DAL/MyProject.Controls项目。Visual Studio大型解决方案

我的问题是,BE/BLL/DAL/Controls有多个项目是好的吗?用BE/BLL/DAL层创建1个项目文件比较好吗?

+0

如果将它们合并成一个,你打算怎么引用别人的失败,目前的一个看起来不错,但就是它实际问题/问题? – V4Vendetta

+4

*近12个项目* - 即11个项目? –

+2

多个项目非常好。我已经在解决约60个项目。 –

回答

6

“大”的问题是一个相对的问题。在软件开发中,这主要是一个关于你的PC有多好的问题。如果您可以在1秒内编译和运行100个项目,那么解决方案中的100个项目“很小”。所以这真的是一个适合你的问题。

我目前的工作解决方案中有大约130个项目。是的,我们可以打破它,但我们有一些令人印象深刻的盒子可以解决这个问题,因此有130个项目的成本适中到较低,而且成本优势更大。

如果您可以编译,运行,快速测试它们,将所有项目都集成到一个解决方案中就行了。该死......然后开始谈话到什么是“快”,这是一个风格问题。如果你经常编译和运行测试(每分钟或更快),那么快速是秒。如果你编译并运行每个小时左右,那么分钟就没问题。

答:“做什么适合你”。

注意:考虑解决方案文件夹。

+1

我的上一家公司在一个解决方案中拥有超过350个项目。大部分项目都是在另一个项目中引用的类库。虽然解决方案有350个项目,但这并不意味着这是一个大的解决方案。这是一个很大的解决方案,因为每个项目的代码非常复杂和复杂。正如Rob Smyth所说,这一切都是相对的。我们发现构建整个解决方案非常危险,所以我们只建立了我们必须的项目。 I.E.我们只建立了我们改变过的项目。 – zeencat

+0

+1有助于找出什么是“大”解决方案,对于文件夹使用建议也是+1。 – Larry

+0

“好PC”你主要是在谈论RAM(大小和速度)?还是硬盘访问速度更重要? – mlhDev

0

我认为有多个项目确实比较好。例如,如果您需要构建将使用BE和DAL层中某些现有类的WinForms UI,则只需引用WinForms项目中的这些项目即可。

0

据我了解你的问题,你指的是如何组织一个解决方案,而不是如何做我编译代码更快或如何制作VS-开放我的代码更快,对吗?

如果是这样,我会说,在解决方案中将您的类分解成多个名称可以清楚说明它们的目的的项目。您已经开始采用您提供的“BE/BLL/DAL/Controls”示例的方法。

指定项目为您的解决方案架构提供了很多灵活性。想想你的解决方案可能会随着时间的推移而增长多久,以及未来可能生存多久。想想你将如何将它部署到最终用户,更重要的是,你将如何部署更新。所有这些考虑因素都会影响你的决定,你会详细讨论多少。

分析您的代码,并检查是否有潜力应用经过时间验证的设计模式,如单一责任模式。

它是一个短期的短期工具,在开发过程中运行几次而不再次运行?那么这不值得花费很多努力。它是需要维护几年的工具或应用程序吗?然后去告诉SRP模式是否被认真执行。

我的微软出版社推荐这本书:Building Enterprise Applications with Windows Presentation Foundation and the Model View ViewModel Pattern

这给你如何建立一个良好的项目结构的一些建议,建议和基础。

的可能是结构化的解决方案是如何在这个SO线程的另一个建议:Mvvm Applications And location of Business layer