《企业应用架构模式》读书笔记(4)

博客介绍了领域逻辑模型,在确定事务脚本、领域模型、表模块后会应用经典23个设计模式。还分别阐述了事务脚本、领域模型和表模块,事务脚本将事务封装成过程,领域模型是对象连接成的网,表模块用类模拟业务且操作封装的数据集。

第九章 领域逻辑模型

整个书好像只有这一章是介绍领域逻辑模型,其他基本上O/R Mapping相关(笔墨最多),表现层,分布对象等等。对于领域逻辑,其设计、模式在大的“事务脚本(Transaction Script)”、“领域模型(Domain Model)”、“表模块(Table Module)”确定以后,需要应用的设计模式就是那些经典的23个模式了。

坦白来讲,这本书到目前为止,前9章都看了有2遍,有些可以理解,有些还是不能理解。领域逻辑模型这一章,对于书中的话、对于程序和例子,都可以明白,但对于思想、该怎么使用还是似懂非懂。以前做桌面系统多一些,设计和编码多用的是Observer,Adapter之类的模式;对于非桌面系统,基本基于VB和ASP,都是2层系统,复杂一些,会把一些对象涉及的操作用对象完全封装起来,可能间于事务脚本模式和表模块模式之间,所以,实作经验的不足应该是理解偏差的主要原因吧。

事务脚本
事务脚本比较好理解,简单来说,就是将大多是事务,以过程的形式封装起来,然后在其他层(表现层)被调用,实现一定功能(输入、查询、更新数据库)。组织事务脚本需要通过合理的方法将其模块化,例如对于数据库连接等操作,可以独立出来,成为公用的过程。
事务脚本可以通过一定的方法组织成类。事务脚本的优势在于简单有效。例如,对于一个留言本,使用Add、GetDetail等方法即可封装数据库操作,Web界面则直接调用其即可。

领域模型
领域模型是一张对象(数据、业务规则、实体等)连接成的网。
对于简单领域模型,一般来说,一个数据库表对应一个对象;复杂领域模型则由很多细粒度对象组成,通过继承、策略和其他设计模式,模拟复杂的领域逻辑。复杂领域模型需要使用数据映射器。

表模块
按照我自己的理解,表模块可以简单看作通过一系列的类来模拟业务,但操作的对象是封装了的一个数据集(所谓实体对象),前一点和领域模型相同,后者则简化了与数据库的连接,不需要数据映射器。因此,表模块一般是对于数据库的一个表使用一个表模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值