事务脚本模式:一个过程来控制逻辑 | ||||
模式 |
模式含义 |
运行机制 |
使用时机 |
归类 |
Active Record |
包装数据库表或视图中的行、封装数据库访问、并将业务逻辑 |
在简单的应用中,领域模型和数据表有很好的对应的。可以这样理解活动记录(内存记录),它是在行数据模型里面逐渐添加领域逻辑的结果。 |
|
A |
Application Controller |
处理屏幕导航和应用流程的集中控制点。 |
|
JEE核心模式类似 | |
Associate Table Mapping |
将关联存储为表形式,并通过外键将与之相关的 |
|
| |
Class Table Inheritance |
表示了类的继承层次,每个类都对应一个表 |
字段只包括该类的字段 | ||
Client Session State |
将会话状态存储于客户端 |
|
| |
Coarse Grain Lock |
用一个锁将一组相关对象都锁起来 |
|
| |
Concrete Table Inheritance |
表示了类的继承层次,层次中的每一个具体类对 |
字段包括从父类集成的 | ||
Data Mapper |
由映射器组成的一个层次,它在对象和数据库之间移动数据, |
用数据映射器来隔离领域模型和数据库自己的关系。 |
领域模型复杂就应该使用了 |
A |
Data Transfer Object |
在进程间进行数据传递的对象,目的是减少进程间 |
|
| |
Database Session State |
将会话状态作为提交的数据存储于数据库中 |
|
| |
Dependent Mapping |
让一个类为一个子类进行数据库映射。 |
|
| |
Domain Model |
既包含行为,又包含数据的领域的对象模型。 |
|
| |
Embedded Value |
将一个对象映射到另一个对象的表的多个域中。 |
|
| |
Foreign Key Mapping |
将对象间的一个关联映射成表间一个外键引用。 |
|
| |
Front Controller |
处理Web站点中所有请求的控制器。 |
|
| |
Gateway(入口) |
封装对外部系统或资源进行访问的对象。 |
|
| |
Identity Field(标识域) |
将数据库ID域保存到对象中,用来维护一个内存对象与一个数据 |
|
| |
Identity Map(标识映射) |
通过将每个被加载对象放入一个映射中,确保每个对象都被加载 |
|
| |
Implicit Lock(隐含锁) |
允许框架或层超类型申请离线锁。 |
|
| |
Inheritance Mappers(继承映射器) |
组织数据库映射器的一种结构,能处理继承层次。 |
|
| |
Layer Supertype(层超类型) |
某一层中充当所有类型的超类型的类型。 |
|
| |
Lazy Load(延迟加载) |
对象中并不包含所有想要的数据,但是知道如何获取这些数据 |
|
| |
Mapper(映射器 |
在两个独立对象间建立起通信的对象 |
|
| |
Metadata Mapping(元数据映射) |
在元数据中保存对象-关系映射的细节 |
元数据文件将对象映射到数据库 |
元数据使问题简单 | |
Model View Controller(模型-视图-控制器) |
将用户界面交互分割成三个不同的角色 |
|
| |
Money(货币) |
表示货币值 |
|
| |
Optimistic Offline Lock(乐观离线锁) |
通过检测冲突并回滚事务来防止并发业务事务间的 |
|
| |
Page Controller(页控制器) |
处理Web站点中特定页面请求或动作的对象 |
|
| |
Pessimistic Offline Lock(悲观离线锁) |
通过每次只允许一个业务事务访问数据来防止并发 |
|
| |
Plugin(插件 |
在配置阶段而不是在编译阶段连接类 |
|
| |
Query Object(查询对象) |
表示数据库查询的对象 |
|
| |
Record Set(记录集) |
列表数据的内存表示 |
|
| |
Registry(注册表) |
其他对象可以通过其找到公共对象或服务的一个知名对象 |
|
| |
Remote Façade(远程外观) |
在细粒度对象上提供粗粒度的外观,以改进跨网络的有效性 |
|
| |
Repository(资源库) |
通过用来访问领域对象的一个类似集合的接口,在领域与数据映射 |
|
| |
Row Data Gateway(行数据入口 |
在一个数据源中充当到一条记录的入口的对象。每条记 |
|
| |
Separated Interface(分离接口) |
在一个与其实现分离的包中定义一个接口 |
|
| |
Serialized LOB(序列化LOB) |
通过序列化方法将一张对象图保存在一个大对象(LOB) |
|
| |
Server Session State(服务器会话状态) |
将会话状态以序列化方式保存在一个服务器系统上 |
|
| |
Service Layer(服务层) |
通过一个服务层来定义应用的边界,这个服务层建立了一组可用 |
|
| |
Service Stub(服务桩) |
在测试过程中去除对有问题服务的依赖。 |
|
| |
Single Table Inheritance(单表继承) |
通过一个表来表示类的一个继承层次,表中各列对应 |
|
| |
Special Case(特殊情况 |
为特定情况提供特殊行为的一个子类 |
|
| |
Table Data Gateway(表数据入口 |
充当到数据库表的入口的对象。一个实例处理表中的所有行 |
|
| |
Table Module(表模块) |
通过一个实例处理数据库表或视图中所有行的业务逻辑 |
|
| |
Template View(模板视图 |
通过在HTML页面中嵌入标记来将有关信息融入HTML |
|
| |
Transaction Script(事务脚本) |
通过过程来组织业务逻辑。其中,每个过程处理来自表现 |
|
| |
Transform View(转换视图) |
逐条处理领域数据并将它们转换成HTML的一个视图 |
|
| |
Two Step View(两步视图 |
通过两步将领域数据转换成HTML:首先形成某种逻辑页面, |
|
| |
Unit of Work(工作单元) |
维护由业务事务所影响的对象列表,并协调更改的写出以及并 |
一个控制对象,它复杂跟踪数据的读取、修改和存储的情况。 |
|
A |
Value Object(值对象) |
类似于金钱或数据范围的、小而简单的对象,其相等性不是基于ID的 |
|
|