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