2013-03-25 54 views
0

我正在查看ProjectTracker CSLA示例解决方案,它具有用于DAL,EF实现DAL的项目以及用于业务对象/规则等的项目。CSLA:真的需要很多独立的项目吗?

我知道把逻辑分离分解到项目是一种很好的做法,但我的担忧是将DAL和EF放入业务程序集中真的存在问题吗?

看来构建时间受项目数量的影响最大。

我正在处理的应用程序可能会有18个或更多的项目,如果我按照示例布局。

我知道我可以做出多种解决方案来帮助缓解这种情况,但我不想一开始就走这条路。

谢谢。

回答

4

推荐多个项目,这对于获得CSLA及其n层体系结构的全部好处是必需的。

如果您知道不再需要n层部署,从不需要高级安全性,永远不需要增加的可伸缩性,并且通常不打算构建企业级应用程序,那么您可以使用更少的项目。实际上,如果您正在构建一个应用程序,并且您知道要将其部署为2层应用程序,那么您可以将业务类和数据访问类与UI代码一起直接放入UI项目中。

这是个好主意吗?

它会工作吗?是。

1

为了回收Rocky的回答,我工作的公司使用CSLA,并且我们最初在我们的商业课程中拥有所有DAL代码。当时我们使用的是Oracle 10g作为dbms,但希望切换到SQL Azure(并且我们进行了相当大的系统升级并同时进行了模式更改)。所以,我们做了以下内容:

  • 落实DAL接口作为项目
  • 实施2个DAL项目,分别用于Oracle和SQL(实际上3W /一个模拟分贝,但对于证明更概念)

这让我们在两个数据库中同时测试转换。如果我们从DAL项目入手开始,这将会容易得多。长话短说,可能需要更多的时间,但除非你对洛基所有的观点都积极,否则这是值得的。