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

问题描述 投票:0回答:7

应用层和业务逻辑层有什么区别?我的理解是,业务层提供业务特定的服务,应用程序层耦合业务服务并向最终用户提供服务(Web 服务、UI 等)。我说得对吗?

language-agnostic architecture
7个回答
76
投票

听起来是正确的。

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

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


25
投票

总结一下:

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

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


3
投票

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

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


3
投票

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

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

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

在 DDD 中,业务规则和业务逻辑等功能需求位于领域层,并且 非功能性要求(例如安全性和用户活动日志记录)保留在应用程序层


0
投票

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


0
投票

业务逻辑是指管理业务的规则和程序,包括定价、折扣、库存水平、客户资格等。另一方面,应用程序逻辑是在特定应用程序中实现这些业务规则的代码。

业务逻辑和应用程序逻辑之间的主要区别在于,业务逻辑是关于基于业务的数据输入,而应用程序逻辑是关于用户如何与应用程序交互。例如,业务逻辑涉及计算贷款利息,而应用程序逻辑涉及用户单击网站上的“获取预先批准”按钮时发生的情况。


-2
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.