我的网络应用程序有一个解决方案,有近12个项目和3个网站。 我有一些项目用于多个网站,如MyProject.BE / MyProject.BLL / MyProject.DAL / MyProject.Controls项目。
我的问题是,为BE / BLL / DAL /控件创建多个项目是否合适?为BE / BLL / DAL层创建包含文件夹的项目是否更好?
答案 0 :(得分:6)
“大”的问题是一个相对的问题。在软件开发中,主要是你的PC有多好。如果你可以在1秒内编译并运行100个项目,那么解决方案中的100个项目就是“小”。所以这真的是一个对你有用的问题。
我目前的工作解决方案中有大约130个项目。是的,我们可以打破它,但我们有一些令人印象深刻的盒子可以处理这个,所以130个项目的成本从中等到低,优势比成本更大。
如果您可以编译,运行和运行,那么将所有项目放在一个解决方案中就行了快速测试它们。 Darn ...然后开始谈话到“快速”,这是一个风格问题。如果经常编译和运行测试(每分钟或更快),那么快速就是秒。如果你每小时左右编译并运行一次,那么分钟就可以了。
答案:“做对你有用的事情”。
注意:考虑解决方案文件夹。
答案 1 :(得分:0)
我认为拥有多个项目确实更好。例如,如果您需要构建一个将使用BE和DAL层中某些现有类的WinForms UI,那么您需要做的就是从WinForms项目中引用这些项目。
答案 2 :(得分:0)
据我了解你的问题,你指的是如何组织一个解决方案,而不是如何让我更快地编译代码或者如何制作VS-open -my-code-quicker,对吧?
如果是这样,我会说,将解决方案中的类分解为多个项目,其名称可以明确它们的用途。您已经使用您提供的“BE / BLL / DAL / Controls”示例开始了类似的方法。
指定项目为您的解决方案架构提供了很大的灵活性。考虑一下您的解决方案可能会随着时间的推移而增长多少以及未来可能存在多长时间。考虑如何将其部署到最终用户,更重要的是,如何部署更新。所有这些考虑因素都会影响您决定在多长时间内了解详细信息。
分析您的代码并检查是否有可能应用经过时间验证的设计模式,如单一责任模式。
它是一种短期的短命工具,在开发过程中会运行几次而不会再次运行吗?那么它不值得付出太多努力。它是一个需要维护几年的工具或应用程序吗?然后去认真对待SRP模式。
我推荐Microsoft Press出版的这本书:Building Enterprise Applications with Windows Presentation Foundation and the Model View ViewModel Pattern
这为您提供了一些关于如何建立良好项目结构的建议,建议和基础知识。
关于如何构建解决方案的另一个建议是在这个SO线程中:Mvvm Applications And location of Business layer