分布式设计模式-事务脚本

事务脚本模式:将业务逻辑组织为面向过程的事务脚本的集合,每种类型的请求都有一个脚本。

使用事务脚本模式设计业务逻辑

虽然我一直积极的倡导使用面向对象的方式,但在某些状况下使用面向对象的设计方法会有一种“杀鸡用牛刀”的感受,例如在开发简单的业务逻辑时。在这种状况下,更好的方法是编写面向过程的代码,并使用Martin Fowler在《Patterns of Enterprise Application Architcture》一书中提到的事务脚本模式。你能够编写一个称为事务脚本的方法来处理来自表示层的每一个请求,而不是进行任何面向对象的设计。以下图,这种方法的一个重要特征是实现行为的类与存储状态的类是分开的。数据库

将业务逻辑组织为事务脚。在典型的基于事务脚本的设计中,一组类实现行为,另外一组类负责存储状态,事务脚本一般被写成没有状态的类,脚本访问没有行为的数据类以完成持久化的任务。

使用事务脚本时,脚本一般位服务类中,在此实例中是aService类,每个服务都有一个用于请求或者系统操做的方法,这个方法实现该请求的业务逻辑。它使用数据访问对象(DAO)访问数据库,例如aDao。数据对象是纯数据(例如model),几乎没有行为。编程

这种设计风格是高度面向过程的,仅仅依赖于面向对象编程(OOP)语言的少许功能,就比如你使用C或其余非OOP语言编写应用所能实现的功能。然而,在适当的时候,你不该该羞于使用面向过程的设计。这种方法适用于简单的业务逻辑,但这每每不是实现复杂业务逻辑的好方法。设计

相关文章
相关标签/搜索