三层架构之业务层逻辑层

Posted 琉忆光年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三层架构之业务层逻辑层相关的知识,希望对你有一定的参考价值。

你好,是我琉忆。

今天我们讲一讲三层架构中的业务逻辑层

1、业务逻辑层的介绍

业务逻辑层(Business Logic Layer,简称 BLL)是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也就是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

2、业务逻辑层的命名规范

每一层的命名规范都是不同的,但是基本操作的逻辑相同。

业务逻辑层的命名规范如下:

(1)     业务逻辑层通常命名为 BLL 或用解决方案名称 +BLL 的格式命名。

(2)     每个实体类通常在业务逻辑层有对应的业务逻辑类。类的格式为实体类名称 +Manager。

【看到这里,如果你还没关注我,可以点个关注,下次更新文章我通知你】

3、业务逻辑层的类结构

业务逻辑层的作用更多是为了解耦,每个业务逻辑类的方法用于处理具体的业务规则。例如我们查询用户时需要从数据访问层的UserService类的getUserInfo获取用户信息回来,那么业务逻辑层也需要写一个UserManager.cs类定义一个getUserInfo的方法,用于同步操作数据访问层的数据返回前端操作。

所以BLL业务逻辑层这里,它的结构基本和数据访问层的结构一样。除非业务逻辑层不涉及数据访问层的调用,它的结构才会跟数据访问层不一致。

须知:业务逻辑层为了和数据访问层的方法易于调用理解,两个类的方法名尽量一致。

 

4、我写的书开始预售了!

最近正在写一本《ASP.NET Web动态网站》开发的书,预计2月底写完,敬请期待~

预售网址:http://www.71muke.com/course/info/99

更多编程知识获取关注公众号:琉忆编程库

我是一名热爱旅游,读书,学习的文艺程序员。 不甘于平庸,不甘于舒适,愿不断挑战经历不同的美好。 如果您和我有共同的爱好,本人热爱交友,可以联系我。 QQ:330168885

以上是关于三层架构之业务层逻辑层的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb 之 三层架构:软件设计架构

EF--封装三层架构IOC

java三层架构:数据访问层业务逻辑层表现层

使用三层架构处理业务

三层架构分析

深入探讨:如何理解.Net的三层架构