业务逻辑层


业务逻辑层

文章插图
业务逻辑层业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分 。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计 , 也即是说它是与系统所应对的领域(Domain)逻辑有关 , 很多时候 , 也将业务逻辑层称为领域层 。
所谓的三层开发就是将系统的整个业务套用划分为表示层 , 业务逻辑层和数据访问层 , 这样有利于系统的开发、维护、部署和扩展 。
分层是为了实现“高内聚 , 低耦合” 。採用“分而治之”的思想 , 把问题划分开来各个解决 , 易于控制 , 延展和分配资源 。
【业务逻辑层】业务逻辑层负责系统领域业务的处理 , 负责逻辑性数据的生成、处理及转换 。对所输入的逻辑性数据的正确性及有效性负责 , 但对输出的逻辑性数据及用户性数据的正确性不负责 , 对数据的呈现样式不负责 。
基本介绍中文名:业务逻辑层
外文名:Business Logic Layer
类型:理论
领域:逻辑学
採用:“分而治之”的思想
简述所谓的三层开发就是将系统的整个业务套用划分为表示层 , 业务逻辑层和数据访问层 , 这样有利于系统的开发、维护、部署和扩展 。
业务逻辑层

文章插图
分层是为了实现“高内聚 , 低耦合” 。採用“分而治之”的思想 , 把问题划分开来各个解决 , 易于控制 , 延展和分配资源 。业务逻辑层用于做一些有效性验证的工作 , 以更好地保证程式运行的健壮性 。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字元串 , 数据格式是否正确以及数据类型验证;用户许可权的合法性判断等;通过以上的诸多判断以决定是否将操作继续向后传递 , 儘量保证程式的正常运行 。作用例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中 , 将整个架构分为三个主要的层:表示层、领域层和数据源层 。作为领域驱动设计的先驱Eric Evans , 对业务逻辑层作了更细緻地划分 , 细分为套用层与领域层 , 通过分层进一步将领域逻辑与领域逻辑的解决方案分离 。业务逻辑层在体系架构中的位置很关键 , 它处于数据访问层与表示层中间 , 起到了数据交换中承上启下的作用 。由于层是一种弱耦合结构 , 层与层之间的依赖是向下的 , 底层对于上层而言是“无知”的 , 改变上层的设计对于其调用的底层而言没有任何影响 。如果在分层设计时 , 遵循了面向接口设计的思想 , 那幺这种向下的依赖也应该是一种弱依赖关係 。因而在不改变接口定义的前提下 , 理想的分层式架构 , 应该是一个支持可抽取、可替换的“抽屉”式架构 。正因为如此 , 业务逻辑层的设计对于一个支持可扩展的架构尤为关键 , 因为它扮演了两个不同的角色 。对于数据访问层而言 , 它是调用者;对于表示层而言 , 它却是被调用者 。依赖与被依赖的关係都纠结在业务逻辑层上 , 如何实现依赖关係的解耦 , 则是除了实现业务逻辑之外留给设计师的任务 。