我有一个包含近12个项目和3个网站的Web应用程序解决方案。 有些项目被用于多个网站,例如MyProject.BE / MyProject.BLL / MyProject.DAL / MyProject.Controls 项目。
我的问题是,将BE / BLL / DAL / Controls分成多个项目还是创建1个带有BE / BLL / DAL层文件夹的项目更好?
我有一个包含近12个项目和3个网站的Web应用程序解决方案。 有些项目被用于多个网站,例如MyProject.BE / MyProject.BLL / MyProject.DAL / MyProject.Controls 项目。
我的问题是,将BE / BLL / DAL / Controls分成多个项目还是创建1个带有BE / BLL / DAL层文件夹的项目更好?
我认为拥有多个项目确实更好。例如,如果您需要构建一个WinForms UI,它将使用BE和DAL层中某些现有类,那么您只需从WinForms项目引用这些项目即可。
就我所理解的问题而言,您是在询问如何组织解决方案,而不是如何使编译代码更快或如何使VS更快地打开我的代码,对吗?
如果是这样,我建议将解决方案中的类分解为多个项目,并使用能清楚表明其目的的名称。您已经开始采用“BE/BLL/DAL/Controls”示例的方法。
指定项目可以为解决方案架构提供很大的灵活性。考虑一下您的解决方案可能随着时间的推移而增长的程度以及它在未来的生命周期有多长。考虑一下您将如何将其部署到最终用户以及更重要的是,您将如何部署更新。所有这些考虑因素都应影响您决定要深入细节的程度。
分析您的代码并检查是否有潜力应用经过时间验证的设计模式,例如单一职责原则。
它是一个短期且仅在开发过程中运行几次的工具吗?那么它不值得花费太多精力。它是需要维护几年的工具或应用程序吗?那么请确保仔细实施SRP模式。
我推荐这本由微软出版社出版的书籍: Windows Presentation Foundation和Model View ViewModel Pattern构建企业应用程序 这本书会给你提供一些关于如何构建良好项目结构的建议、推荐和基础知识。