加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 企业应用架构模式

企业应用架构模式.pdf

企业应用架构模式

happy_730
2012-06-17 0人阅读 举报 0 0 暂无简介

简介:本文档为《企业应用架构模式pdf》,可适用于IT/计算机领域

FinePrintSoftware,LLCNapierLaneSanFrancisco,CATel:Fax:wwwfineprintcom::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页Administrator线条Administrator矩形Administrator附注“Administrator”设置的“Rejected”Administrator文本框什么时候,领域逻辑可以放入到表现层呢::共页第页::共页第页Administrator线条::共页第页::共页第页Administrator附注由于事务脚本以下的缺点:、随着领域逻辑的复杂而变得更加复杂。、大量的代码重复、当由多个人同时开发时候程序会变得没有头绪。可以使用【领域模型来解决这个问题】Administrator附注难道我以前所做的程序都是【事务脚本】吗。难怪很多重复相似的代码想重构他们有显得那么困难。【事务脚本】是让每个过程(可能是函数)对于每个用户可能的操作。Administrator线条::共页第页Administrator矩形两种模型的区别但是我现在不能理解Administrator附注确认策略对象::共页第页Administrator附注由于将【领域模型】映射到数据库是困难的通常【领域模型】结合【数据映射器】使用。Administrator线条【领域模型】和【表模块】的区别Administrator附注【表模块】的最大有点net对【表模块】有天生的支持::共页第页::共页第页Administrator附注服务层跟我以前用的控制对象有什么区别呢?现在看来他们好像是一样的。Administrator矩形如果服务层只是一个服务外观那么就可以让服务层的方法和用例一一对应提供一个整洁的界面。如果服务层放置了大量的业务逻辑那么就可以简化下层对象的复杂性。::共页第页Administrator线条::共页第页Administrator附注为数据表中每一条记录使用一个对象。成为行数据入口(DataRowGateWay)::共页第页Administrator附注行数据入口:就是用一个对象来对应一个数据库表。以前我使用的就是这种模型。Administrator附注在简单的应用中领域模型和数据表有很好的对应的。可以这样理解活动记录(内存记录)它是在行数据模型里面逐渐添加领域逻辑的结果。活动记录模型只能应用于领域逻辑简单的情况。::共页第页Administrator附注用数据映射器来隔离领域模型和数据库自己的关系。数据映射器完成领域模型类和数据库表的一一映射。数据映射器是一个很好的持久化机制。Administrator附注本书中的表通指数据表、存储过程和视图。::共页第页Administrator附注使用面向对象的数据库可以解决系统存储对象的问题。无需进行OR映射。但是面向对象数据库技术不成熟大家都不愿意承担风险。专家建议购买一套OR映射工具。::共页第页Administrator附注工作单元:一个控制对象它复杂跟踪数据的读取、修改和存储的情况。防止同一个数据被同时读取、多个用户在同时操作同一条数据。它充当了数据映射器的控制器。在没有工作单元的时候由领域类来充当这个控制器的。它其实是领域逻辑里面分解出来的专门负责数据一致性控制的控制对象。Administrator矩形在使用领域模型的时候它的读取应该把相关联的对象也一块读出来。例如读取一个合同应该把合同涉及到的产品和定购厂商的对象加载到内存中。由时候为了避免这些没有必要的连带读取我们可以使用【延迟加载】模型Administrator附注专家建议不要把查找操作放入到领域模型里面而是专门制作一个【查找器】在【查找器】里面封装许多操作SQL语句。要注意【查找器】是工作在数据库的状态下的不是在对象的状态下例如你在内存里面添加而没有写入数据库的会员记录不会被查找到。解决这个问题的方法是一开始就进行查找我不能理解。还有一个问题是不是把多个领域对象的查找操作全部放入到一个查找器里面还是每个查找器对应一个领域类呢?::共页第页Administrator附注尽可能一次查询多个记录不要一次查询一个记录然后进行多次查询。可以一次查询多条相关的记录例如使用联合查询。或者使用多条SQL语句。可以制作一个入口让入口完成相关数据的一次性读取。::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页Administrator附注领域模型按照它的复杂程度分可以分为:简单领域模型和复杂领域模型。简单的领域模型如【活动记录】可以应对领域逻辑比较简单的系统。复杂的领域逻辑需要复杂的领域模型。::共页第页Administrator线条Administrator附注专家建议一开始的时候宁愿让领域模型比较臃肿也不要轻易把领域逻辑放到表示层。在开放的过程中经过评估实在有必要才这样做。Administrator附注“重进入”的概念是:当一个实体被调用时候(状态发生了变化)或者它调用其他任何对象的时候另外一个对象再来调用该实体那么调用的对象应该得到该实体的初始状态。::共页第页::共页第页::共页第页::共页第页::共页第页Administrator附注关键在这里了。看到没有在Contract里面有一个方法它能够根据自己的类型选择合理的确认方式。::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页::共页第页封面译者序模式列表目录引言架构企业应用企业应用的种类关于性能模式模式的结构模式的局限性第一章分层企业应用中层次的演化三个基本层次为各层选择运行环境第二章组织领域逻辑抉择服务层第三章映射到关系数据库架构模式行为模式读取数据结构映射模式关系的映射继承建立映射使用元数据数据库连接其他问题第四章Web表现层视图模式输入控制器模式第五章并发并发问题执行语境隔离与不变性乐观并发控制和悲观并发控制避免不一致读死锁事务ACID事务资源减少事务隔离以提高灵活性业务事务和系统事务离线并发控制的模式应用服务器并发第六章回话状态

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/49

企业应用架构模式

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利