我正在查看ProjectTracker CSLA示例解决方案,它包含DAL项目,DAL的EF实现以及业务对象/规则/等项目。
我理解将逻辑分离拆分为项目是一种很好的做法,购买我关注的问题是将DAL和EF放入业务程序集是否真的存在问题?
似乎构建时间受项目数量的影响最大。
如果我按照示例布局,我正在处理的应用程序可能会有18个或更多项目。
我知道我可以提供多种解决方案来帮助减轻这种情况,但我不想在一开始就走这条路。
感谢。
答案 0 :(得分:4)
建议使用多个项目,这对于充分利用CSLA及其n层架构是必要的。
如果你知道你永远不需要n层部署的任何疑问,永远不需要高级安全性,永远不需要增加可扩展性,并且通常不打算构建企业级应用程序,那么你可以使用更少项目
事实上,如果您正在构建一个您知道将部署为2层应用程序的应用程序,那么您可以将业务类和数据访问类与UI代码一起直接放入UI项目中。
这是个好主意吗?否。
会起作用吗?是。
答案 1 :(得分:1)
为了回顾Rocky的回答,我工作的公司使用CSLA,我们最初在我们的业务类中拥有所有DAL代码。我们当时使用Oracle 10g作为我们的dbms,但是想切换到SQL Azure(我们同时进行了相当大的系统升级和架构更改)。所以,我们做了以下事情:
这让我们同时测试两个数据库中的转换。如果我们开始使用DAL项目,那么这将更容易实现。
长话短说,可能需要更多时间,但除非你对Rocky的所有观点都持肯定态度,否则它是值得的。