首页 > EA > 正文

企业应用架构模式之领域逻辑模式

2018-06-08 09:09:43  来源:CSND

摘要:企业架构过程从领域层开始的,一些经典的领域逻辑方法也就被称之为领域逻辑模式。主要有:事务脚本、领域模型、表模块。
关键词: 企业架构
一般的,企业架构过程从领域层开始的,一些经典的领域逻辑方法也就被称之为领域逻辑模式。主要有:事务脚本、领域模型、表模块。选择依据实际领域逻辑的复杂性,事务脚本是最简单的,而领域模型则比较复杂。
 
(1)事务脚本:使用过程来组织业务逻辑,每个过程处理来自表现层的单个请求。
 
将事务脚本组织成类,并与处理表现层与数据源层的类相分离,可应用命令模式来管理事务脚本类。
 
该模式简单,但有冗余,尤其是领域业务本身就很复杂的话,应用事务脚本就比较难维持一个好的设计
 
(2)领域模型:合并行为与数据的领域的对象模型。
 
领域模型也可分为简单领域模型与复杂领域模型。简单领域模型中,几乎每一个数据库表都与一个领域对象对应,而复杂领域模型则会继承、策略模式等设计。复杂领域模型是一张由互联的细粒度对象组成的网,需要使用数据映射器,简单领域模型则可以使用活动记录。
 
使用领域模型时,首选的数据库交互方式是数据映射器;另外,一般会考虑设立一个服务层,以便给领域模型一个更清晰的API。
 
该模式适用于业务规则复杂多变时使用。领域模型的缺点是比较复杂且与数据库的连接很容易陷入杂乱无章的境地。
 
(3)表模块:处理数据库中的表或视图中所有行的业务逻辑的实例
 
面向对象的关键思想之一是将数据域对该数据的操作的行为绑定在一起。
 
表模块以一个类对应数据库中的一个表来组织领域逻辑,而且使用单一的类实例来包含对数据的各种操作。它与领域逻辑的主要区别是,如果你有许多订单,领域模型对每个订单都有一个对象,而表模块只用一个对象来处理所有订单。表模块模式可视为事务脚本与领域模型的一个折中,它可以处理较复杂的领域业务,同时适合于关系数据库一起工作。
 
该模式的优点是易与下层面向表的数据结构整合。但表模块没有提供完全的面向对象能力来组组织复杂的领域逻辑,不能在实例之间直接建立关联,多态机制也无法工作良好。
 
(4)服务层:通过一个服务层定义应用程序的边界,在服务层中建立一组可用操作的集合,并在每个操作内部协调应用程序的响应。
 
服务层定义了应用边界和从接口客户层角度所能看到的可用操作集合。它封装了应用的业务逻辑、事务控制及其操作实现中的响应协调。服务层类的接口是粗粒度的,以适应远程。
 
服务层的设计动机是通过职责的细分来避免冗余代码和提高重用性,其设计思想来自于应用边界模式。
 
服务层优点在于它定义了一个公共的应用操作集合,这一集合可被各种客户使用,而且服务层在每个操作中都会协调应用的响应。响应可能涉及到某些需要在多个事务性资源之间进行原子化处理的应用逻辑。因此,在业务逻辑中有多种客户的应用中,或者其用例中的复杂响应涉及到多个事务性资源时,即使不是分布式架构,使用一个容器管理事务的服务层仍是很有必要的。

第三十四届CIO班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训
责编:yangjun

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。