PEAA笔记五:RowDataGateway
What is it
Row Data Gateway对应数据源中的一个数据记录,它的一个实例就是一行数据
How it works
Row Data Gateway可以和Transaction Scripts一起和谐的工作。由于它对应一行的数据,故此在使用中会面对将查找操作放置在哪儿的问题。我们可以采用静态函数的查找操作,但是这样丢掉了通过多态来生成多个相似查找操作的可行性。另一种方法是使用Row Data Gateway的时候,搭配一个finder对象。
Row Data Gateway和Active Record比较类似,区别在于是否其中含有业务逻辑。Row Data Gateway只是包含数据访问逻辑,而没有任何业务逻辑
使用Row Data Gateway的时候,也要注意Update数据时的逻辑。
Row Data Gateway写起代码来比较繁琐,不过使用MeatData Mapping就好多了,数据访问代码可以自动生成
When to use it
一般的,在使用Transaction Scripts时使用Row Data Gateway;在使用Domain Model是则不使用Row Data Gateway,对于简单的数据映射,可以采用Active Record,复杂的可以采用Data Mapper,后者对数据库有很好的封装,使得Domain Object可以不必了解数据库的结构
有趣的是,Row Data Gateway经常可以和Data Mapper一起很好的使用,虽然这看起来增加了很多额外的工作,实际上如果Row Data Gateway是在手动添加Data Mapper时通过Metadata自动生成的的话,这样做也是很有效率的。Row Data Gateway起到了Domain Object和数据库之间的隔离带的作用,可以使你在不更改业务逻辑的基础上更改数据库结构。
在Transaction Scripts中使用Row Data Gateway的时候,需要注意,如果你有一些业务逻辑在几个Scripts中都有出现的话,将业务逻辑加入到Row Data Gateway中,把Row Data Gateway变为Active Record,这将有效的减少业务逻辑的重复代码
- · 邮件安全攻略:只要糖衣不要炮弹
- · 网络常见木马的手工清除方法
- · 防火墙日志记录让蠕虫病毒无处可逃
- · Windows超长共享名溢出漏洞
- · 快速干掉感染InternetExplorer的恶意程序
- · WinXP/2K鲜为人知的安全命令
- · Winzip存在多个缓冲区溢出漏洞
- · Linux又出现高危险图像漏洞厂商急于打补丁
- · 网络管理员必读之如何让DHCP服务器更安全
- · 建立安全的Web站点
- · IIS存在未明远程攻击漏洞
- · 用ISA+瑞星构筑防范黑客和病毒攻击的铜墙铁壁
- · 查看系统中是否有简单木马
- · 网络世界的“后门”—讲述特殊端口的故事
- · QQ帮你突破网吧硬盘访问限制
- · 三种对付恶意网站的绝招
- · 解决IE强迫连接某网站的办法
- · 浅析传统网络防火墙的五大不足之处
- · 提高操作系统和IIS安全性的绝招
- · 使用Windows防火墙十大经典问题荟萃
- · 浅析三种不同的“防Ping”方法
- · 春节长假安全手册
- · 世界顶级防火墙LooknStop中文版
- · 我的电脑安全么?给自己的电脑把把脉
- · 体验三大网络安全在线检测服务
- · 五板斧封杀Windows默认共享
- · 给WIN2003IISSQL服务器安全加固
- · Web服务器记录中查找黑客踪迹
- · 用windows2000的IP安全策略封闭端口的办法
- · 红客必学:Windows下的权限设置详解
- · 增强Web的安全性
- · MicrosoftAntiSpyware微软出品的反间谍软件
- · 微软发布12款安全补丁涉及所有Windows版本
- · 始料未及,谁在控制电脑重新启动
- · 网管员训练营--让WindowsFTP服务器更安全
- · 三招两式保护Windows系统不受恶意代码攻击
- · 思科警告用户注意IOS漏洞
- · 用微软工具MBSA了解电脑的“安全红线”
