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