应用层和业务逻辑层之间有什么区别?

问题描述:

应用层和业务逻辑层有什么区别?我了解业务层提供业务特定服务和应用层耦合业务服务,并为最终用户(Web服务,UI等)提供服务。我对吗?应用层和业务逻辑层之间有什么区别?

+0

[商业和应用程序逻辑?]的可能的重复(http://*.com/questions/1456425/business-and-application-logic) – nawfal 2015-01-12 11:10:34

这听起来正确。

业务层实现域模型边界技术中立方式。换句话说,它不依赖于任何特定的UI或与服务接口相关的技术,例如Web库或窗口API。您应该能够使用任何类型的应用程序(Web,富客户端,Web服务等)的业务层。

应用程序层弥合了业务层和边界技术之间的差距。

+6

在这种情况下,“边界技术”意味着什么? – pseudocoder 2013-01-03 06:27:37

+6

任何位于应用程序边界的技术。 UI框架,数据库访问库,服务网关,HTTP或SOAP框架,文件系统库,特定消息队列库等。 – 2013-01-03 08:47:44

+1

如果您遵循DDD,还有可以是html,wpf,rest api等的表示层。应用程序层被不同的表示层重用。总线/域和应用程序之间的区别在于,该域只包含业务已知的对象(或可用于开发的抽象),并且由总线人员和开发人员(无处不在的语言)共享的Coomon语言命名。应用程序层是什么让它成为“程序” – buckley 2013-01-03 19:54:57

据我所知,业务层负责业务决策和涉及客户端协议的逻辑。

应用程序层是与业务决策无关的原始进程。

总结:

  • 应用层由那些特定于本申请中的元素。这将包含UI,UI的后端处理以及应用程序和业务逻辑层之间的任何绑定。在完美的世界中,这个层不包含任何业务领域的逻辑。

  • 业务逻辑层(BLL)包含特定于业务域的逻辑。另外,如果你要创建一个单独的BLL,这个层应该包含其他应用程序可以使用的逻辑以及这个逻辑。例如,一组暴露定义良好的API的Web服务。这将BLL与您的应用程序分开,并允许您在将来构建其他应用程序的灵活性。

+0

你能提供一个源代码吗?你的第一颗子弹听起来像我通常所说的表现层。 – 2010-04-13 15:31:18

+0

不幸的是,没有。我将他的评论意味着他的代码层面专用于应用程序,而不是特定于业务的BLL层。但是你是对的,通常在OSI模型的上下文中使用'Application Layer'。 – 2010-04-13 16:18:10

+1

我完全同意贾斯汀。应用程序层应该只包含最少的逻辑(IE:字段是否有空格或多少个字符)。业务逻辑只能在数据本身上运行和验证。这就是为什么我看不到应用层中的嵌入式SQL,业务逻辑中没有人可以重用它! – Vippy 2014-02-21 17:25:04

我认为它是基础设施。根据不同的应用程序,它可以包含配置,报告,用户界面外壳等

在业务层经典的分层管道,我们有:

- 业务规则 - 安全 - 用户登录电子活动 - 交易管理...

功能Requierment +非功能性Requierment =商业行为准则

在DDD功能Requierment像业务规则和业务逻辑

留在应用层和域层及 非功能性Requiement如安全和用户活动登录电子逗留

在我业务逻辑与应用逻辑的划分是这样的:业务逻辑管理数据,应用逻辑管理用户

通过这里的评论部分:http://www.bennadel.com/?site-photo=22