为什么第三层模型中的第二层被称为“业务”层?业务层3
业务层3
回答
因为它特定于应用程序的性质 - 一个慈善机构,网上零售商和房地产经纪人可能都使用相同的网络服务器和数据库 - 但中间的位非常不同。
我不认为他们会使用相同的数据库,他们是不同的主题。也许你的意思是相同的数据库服 – JonH 2011-04-06 12:28:18
因为业务逻辑驻留在那里。那就是 - 特定于业务场景的逻辑。
其他层不应该有这样的逻辑。前端应该显示和收集数据,数据库应该存储数据,dao应该检索并保存数据。
业务层应根据来自UI和数据库的输入执行逻辑。
这是'业务',因为每个软件都支持一些业务。
+1 - 对BL的好解释。 – JonH 2011-04-06 12:33:25
好的,这里是我的2美分。
为什么?因为这是定义在N层范例。当它被定义为这样的时候,我们不能问为什么这样命名。
N层范式是一个旧的 - 超过10岁。 N-Tiere设计虽然有助于将视图逻辑与商业逻辑分开,但现在已不再流行。
今天,Domain Driven Design又名DDD是一种新的范式,在这个范例中查看领域逻辑并在此基础上构建系统。 域逻辑无处不在,数据库中,用户界面以及中间层。所以如果你正在为披萨店制作软件,那么你的桌子将被称为Order
,Topping
等,如果你正在为银行开发软件,它将会有Account
,Transaction
。 所以业务逻辑无处不在,在中间层以及在用户界面或数据库。
所以现在虽然分层架构仍然接受作为一个优秀的架构方法(其中有一个中间层是不称为“业务层”了),N层是没有的。
在一个面向对象的应用程序我喜欢把业务层作为被施加到对象的业务规则,流程或工作流。然而在许多情况下,我已经看到这意味着对象变成除了POCO(C#中的普通旧C#对象,Java中POJO等)之外的东西。与此相关的问题是对象的行为与对象分离并移动到任意“业务逻辑”类中。
我个人的信念是,“业务层”应当在对象采取行动而不是替代对象的对象的行为。这也允许更好地实现其他实践,例如使用继承和多态的开放闭合原则。
考虑这个例子"OCP"其中Area类将是“业务层”,但各种形状的对象包含每个类型的形状的行为的逻辑。这种方式很少使用区域代码,如果需要改变的话。
- 1. 业务层的jsp
- 2. 业务层设计
- 3. n层业务/服务层设计
- 4. 管理业务层事务
- 5. ASP.NET企业架构:业务层
- 6. 三层架构中的业务层
- 7. 业务逻辑层设计
- 8. EF6和业务逻辑层
- 9. MVC验证和业务层
- 10. 批和业务层通信
- 11. MVVM和业务逻辑层
- 12. 具有Web API业务层的ASP.Net MVC 3体系结构
- 13. 避免在业务层使用SelectList(MVC 3)
- 14. 3层架构 - 是否可以将SQL查询放入业务层
- 15. 3层&Linq to Sql - 商业实体
- 16. 具有n层业务服务器的N层Web服务器
- 17. struts动作类和业务服务层
- 18. 将业务层传递给WCF服务
- 19. 业务层错误和服务层处理 - 最佳方式?
- 20. 3层web服务架构
- 21. 静态业务层和扩展方法
- 22. 基于角色的业务层授权
- 23. 单元测试业务逻辑层
- 24. asp.net应用程序中的业务层
- 25. 业务层授权的最佳实践?
- 26. 业务逻辑层,多个表,关系
- 27. 实体框架和业务层/逻辑
- 28. 业务层中的本地化
- 29. 业务逻辑层次Servlet和JSP
- 30. 演示,业务和数据层
那么告诉我们它应该是什么? – Aliostad 2011-04-06 12:24:43