三层架构之业务层逻辑层
你好,是我琉忆。
今天我们讲一讲三层架构中的业务逻辑层
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
更多编程知识获取关注公众号:琉忆编程库