0

我正在查看 ProjectTracker CSLA 示例解决方案,它有 DAL 的项目、DAL 的 EF 实现以及业务对象/规则/等的项目。

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

似乎构建时间受项目数量的影响最大。

如果我遵循示例布局,我正在开发的应用程序可能有 18 个或更多项目。

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

谢谢。

4

2 回答 2

4

建议使用多个项目,这些项目对于充分利用 CSLA 及其 n 层架构是必要的。

如果您毫无疑问地知道您永远不需要 n 层部署、永远不需要高级安全性、永远不需要增加可扩展性,并且通常不打算构建企业级应用程序,那么您可以使用更少的项目。

事实上,如果您正在构建一个您知道将部署为 2 层应用程序的应用程序,那么您可以将业务类和数据访问类与 UI 代码一起直接放入您的 UI 项目中。

这是一个好主意吗?不。

它会起作用吗?是的。

于 2013-03-31T04:12:06.553 回答
1

为了借鉴 Rocky 的回答,我工作的公司使用 CSLA,我们最初在业务类中拥有所有 DAL 代码。当时我们使用 Oracle 10g 作为我们的 dbms,但想切换到 SQL Azure(我们同时进行了相当大的系统升级和架构更改)。所以,我们做了以下事情:

  • 将 DAL 接口实现为项目
  • 实施 2 个 DAL 项目,一个用于 Oracle 和 SQL(实际上是 3 个带有模拟数据库,但更多的是用于概念证明)

这让我们可以同时测试两个数据库中的转换。如果我们从 DAL 项目开始,这将更容易完成。

长话短说,这可能需要更多时间,但除非你对洛基的所有观点都持肯定态度,否则这是值得的。

于 2013-06-27T19:10:58.850 回答