【发布时间】:2010-03-19 05:55:10
【问题描述】:
在 N 层应用程序中,您应该有一个业务逻辑层和一个数据访问层。 简单地拥有两个程序集是否很糟糕:BusinessLogicLayer.dll 和 DataAccessLayer.dll 来处理所有这些逻辑?您如何实际表示这些层。在我看来,拥有一个包含以下类的 BusinessLogic 类库似乎很愚蠢:CustomerBusinessLogic.cs、OrderBusinessLogic.cs 等,每个类都在 DataAccessLayer 类库中调用它们适当命名的表亲,即 CustomerDataAccess.cs、OrderDataAccess .cs。
我想使用 MVP 创建一个 Web 应用程序,但它看起来并不像这样简单枯燥。关于业务逻辑应该放在 MVP 中的什么位置有很多意见,我不确定我是否找到了一个非常好的答案。
我希望这个项目易于测试,并且我正在尽我所能坚持 TDD 方法。我打算使用 MSTest 和 Rhino Mocks 进行测试。
我正在为我的架构考虑如下内容:
我会使用 LINQ-To-SQL 与数据库通信。 WCF 服务为业务逻辑层定义数据契约接口。然后将 MVP 与 ASP.NET 表单一起用于 UI/BLL。
现在,这不是这个项目的开始,大部分 LINQ 的东西已经完成,所以它被卡住了。 WCF 服务将替换现有的 DataAccessLayer 程序集,UI/BLL 将替换 BusinessLogicLayer 程序集等。
这在我的脑海中是有道理的,但它已经很晚了。走过这条路的人有什么指导吗?好的链接?警告?
谢谢!
【问题讨论】:
标签: architecture tdd mvp n-tier-architecture