领域逻辑模式(事务脚本)

事务脚本(Transaction Script)


使用过程来组织业务逻辑,每个过程处理来自表现层的单个请求。对于很对业务应用来说都可以被看作是一系列事务。业务的一个请求将触发一系列的业务处理逻辑,而我们在代码中通常采用SpringAOP声明式事务方式将事务控制在业务层的实现类的方法上面,一个请求对应一套业务流程,对应一个事务控制。前面我们也提到了事物的4个特性中,有一个隔离性表示事务与事务间是相互隔离的,互不影响的。


事务脚本将所有这些业务逻辑组织成单个过程,在组织时通常都是考虑的业务逻辑的过程,将业务逻辑按照一定的顺序排列执行,然后将事务控制在某一个主方法的入口上,并且在过程中直接调用数据库,或者调用数据库封装器(如MyBatis、Hibernate等ORM映射框架)。每个事物都有属于它自己的事物脚本,这里的脚本指的是方法。


事务脚本比较适合于业务逻辑相对简单的情况下,理论上来说,事务控制在3层架构中任何一层都是可以的,但是我们通常来说,都是控制在业务层的实现上的。事务脚本是属于领域逻辑模式中一种,将其置于与其他处理表现层和数据源层的类相对独立的类中。如果置于数据源层的类中,会失去事务脚本的控制原则,因为可能只控制了一部分业务逻辑,而其他的业务逻辑并没有控制到。


对于事务脚本来说,很多时候都有3个具体的类来构成,他们一般分别是Sevice,Dao,JavaBean, Service类主要用于组织业务逻辑,Dao类主要用于实现数据的存储,JavaBean主要用于数据的封装。


事务脚本贵在简单,对于少量逻辑的应用程序来说,它非常实用 。如果业务逻辑复杂时,就会导致事务之间的冗余代码。例如会有无限制的Dao,Service的接口类……

你可能感兴趣的:(领域逻辑模式(事务脚本))