业务逻辑层与中间件

中间件是什么,主要职责是什么

  1. 企业中间件看作是处理平台和系统之间的计算机通信的一种模型。
  2. 中间件软件的职责就是对使用服务的系统进行抽象,使得它们不必知道自己所调用系统的技术细节。

  3. 例子:通过使用中间件服务器,基于Java的系统得以调用Window服务器上的服务,中间件服务器处理互相分离的平台之间的转换。

业务逻辑层的真正目的是什么

  1. 业务逻辑层是一个抽象层,包含第一和处理复杂业务功能的所有规则、工作流、和验证逻辑,设计软件以满足这些复杂的功能。
  2. 业务逻辑层通常位于用户界面、服务或表示层与数据访问层之间。
  3. 将业务逻辑与应用程序中的其他层分离,就可以分离关注点,保持代码的松散耦合性。
  4. 业务逻辑层允许基于业务逻辑层进行不同的实现。例如,将UI从Web应用程序变为WPF应用程序。

业务逻辑层所在的位置

  1. 数据源—->数据访问层—–>业务逻辑层——>服务层——>(WPF Windows窗体;Web 窗体,其他服务)

业务逻辑层中存在的三种主要模式

  1. 事务脚本(Transaction Script): 一种非常简单的业务设计模式,遵循面向过程的开发方式,而不是面向对象的方法。它为每个业务事务创建一个过程,
    每个过程都包含完成业务事务所需的所有业务逻辑,包括从工作流、业务规则和验证检查到在数据库中持久保存的所有内容。
    事务脚本模式的优点,它非常简单,很易于理解,不需要任何关于该模式的前期知识(设计模式,依赖注入,控制反转),就很容易明白它的作用。如果有新的业务用例
    需要处理,那么可以直接添加新方法来处理它,该方法将包含所有相关的业务逻辑。
    如果有一个包含最少量业务逻辑的简单程序,该应用程序并不适合完全的面向对象方法,那么事务脚本模式可能是一个不错的选择。

  2. 活动记录(Active Record): 一个非常流行的模式,当底层的数据库模型与您的业务模型相匹配时,这种模式尤其有效。
    特点:对于数据库中的每一个表都存在一个对应的业务对象,业务对象代表数据表中的一行,在业务对象中包含数据和行为,同时包含用于持久化业务
    对象的方式以及添加新实例和查找数据集合的方法。在活动记录模式中,每个业务对象都负责它自身的持久化和相关的业务逻辑。
    缺点:

  3. 领域模型(Domain Model): 看作代表我们操作的领域的概念层。比如:如果我们在创建一个贷款应用程序,那么该内容就代表贷款人、贷款、资产、债务。
    领域模型与它所要表示的实际领域越接近越好,因为这可以使我们更容易理解和复制的业务逻辑、规则和验证过程。领域模型与活动记录模式之间的主
    要差异是,领域模型的业务实体存在于领域模型之中,它们不知道如何持久化自身,且数据模型和业务模型之间并不一定要存在一对一的映射关系。

    领域模式的优点:领域模式不包含数据访问代码,所以可以容易地对其进行单元测试,而不必模拟和存根这类数据访问层的依赖。

如何选择事务脚本、活动记录、领域模式

  1. 事务脚本: 对于一个具有很少逻辑或没有逻辑的简单应用程序,作为一种直接的解决方案,事务脚本就是一种绝佳选择,并且后续的开发人员
    很容易理解这种解决方案。

  2. 活动记录:如果业务层只是在数据库之上的一个小型封装界面,那么活动记录就是一种不错的模式,有很多代码生成工具可以基于数据库架构自动创建业务对象。

  3. 领域模型:当需要对丰富的复杂业务领域进行建模时,领域模型就非常适合。领域模型是一个完全面向对象的方法,该方法需要为实际业务领域创建
    一个抽象模型;当处理复杂的逻辑和工作流时,该模式非常有用。领域模型是持久化透明的,它依赖于映射器类(AutoMapper)和储存库模式来持久化和检索业务实体。

领域驱动设计简介

  1. 实体: 需要标识的对象,该标识存在于实体的整个生命周期内。
  2. 值对象: 他只有值没有标识。
  3. 聚合与聚合根: 可以用于对逻辑实体和值对象进行分组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值