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

时间:2010-04-13 15:17:26

标签: language-agnostic architecture

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

6 个答案:

答案 0 :(得分:64)

这听起来是正确的。

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

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

答案 1 :(得分:20)

总结:

  • 应用程序层由特定于此应用程序的那些元素组成。因此,它将包含UI,UI的后端处理以及应用程序和业务逻辑层之间的任何绑定。在完美的世界中,该层不包含业务域的任何逻辑。

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

答案 2 :(得分:2)

据我了解,业务层负责业务决策AKA涉及客户协议的逻辑。

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

答案 3 :(得分:2)

在Business Layer中的经典分层中,我们有:

- 商业规则 -安全 - 用户活动记录 - 交易管理......

功能需求+非功能需求=商业代码

在DDD功能需求中,如业务规则和业务逻辑保留在域层和 安全性和用户活动记录等非功能性需求保持在应用层

答案 4 :(得分:0)

我认为它是基础设施。根据应用程序的不同,它可以包含用于配置,报告,UI shell等的管道。

答案 5 :(得分:-1)

  

在我看来,业务和应用程序逻辑之间的区别是:业务逻辑管理数据,应用程序逻辑管理用户

- 来自此处的评论:https://www.bennadel.com/blog/2436-what-the-heck-is-business-logic-anyway.htm#comments_41200