应用层和业务逻辑层有什么区别?我的理解是,业务层提供业务特定的服务,应用程序层耦合业务服务并向最终用户提供服务(Web 服务、UI 等)。我说得对吗?
听起来是正确的。
业务层以边界技术中立的方式实现域模型。换句话说,它不依赖于任何特定的 UI 或服务接口相关技术,例如 Web 库或窗口 API。您应该能够从任何类型的应用程序使用业务层 - Web、富客户端、Web 服务等。
应用层弥合了业务层和边界技术之间的差距。
总结一下:
应用程序层由特定于该应用程序的那些元素组成。因此,它将包含 UI、UI 的后端处理以及应用程序和业务逻辑层之间的任何绑定。在完美的世界中,这一层不会包含任何业务领域的逻辑。
业务逻辑层(BLL)包含特定于业务领域的逻辑。另外,如果您要创建一个单独的 BLL,这一层应该包含可由其他应用程序以及本应用程序使用的逻辑。例如,一组公开定义良好的 API 的 Web 服务。这将 BLL 与您的应用程序分离,并允许您将来灵活地在其之上构建其他应用程序。
据我了解,业务层负责业务决策,也就是涉及客户端协议的逻辑。
应用层是与业务决策无关的原始流程。
在业务层的经典分层中,我们有:
-业务规则 -安全 - 用户活动记录 -交易管理...
功能需求+非功能需求=业务代码
在 DDD 中,业务规则和业务逻辑等功能需求位于领域层,并且 非功能性要求(例如安全性和用户活动日志记录)保留在应用程序层
我认为它是基础设施。根据应用程序,它可以包含用于配置、报告、UI shell 等的管道。
业务逻辑是指管理业务的规则和程序,包括定价、折扣、库存水平、客户资格等。另一方面,应用程序逻辑是在特定应用程序中实现这些业务规则的代码。
业务逻辑和应用程序逻辑之间的主要区别在于,业务逻辑是关于基于业务的数据输入,而应用程序逻辑是关于用户如何与应用程序交互。例如,业务逻辑涉及计算贷款利息,而应用程序逻辑涉及用户单击网站上的“获取预先批准”按钮时发生的情况。
在我看来,业务逻辑和应用程序逻辑之间的区别是:业务逻辑管理数据,应用程序逻辑管理用户
—— 来自此处的评论:https://www.bennadel.com/blog/2436-what-the-heck-is-business-logic-anyway.htm#comments_41200