- 企业应用架构模式(典藏版)
- (英)马丁·福勒
- 1754字
- 2024-06-18 18:42:17
模式列表
Active Record(活动记录):包装数据库表或视图中的行、封装数据库访问并将业务逻辑加到该数据上的对象。
Application Controller(应用控制器):处理屏幕导航和应用流程的集中控制点。
Association Table Mapping(关联表映射):将关联存储为表形式,并通过外键将与之相关的表连接起来。
Class Table Inheritance(类表继承):表示了类的继承层次,每个类都对应一个表。
Client Session State(客户会话状态):将会话状态存储于客户端。
Coarse-Grained Lock(粗粒度锁):用一个锁将一组相关对象都锁起来。
Concrete Table Inheritance(具体表继承):表示了类的继承层次,层次中的每一个具体类对应一个表。
Data Mapper(数据映射器):由映射器组成的一个层次,它在对象和数据库之间移动数据,并保证它们之间相互独立、映射器间相互独立。
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 Mapper(继承映射器):组织数据库映射器的一种结构,能处理继承层次。
Layer Supertype(层超类型):某一层中充当所有类型的超类型的类型。
Lazy Load(延迟加载):对象中并不包含所有想要的数据,但是知道如何获取这些数据。
Mapper(映射器):在两个独立对象间建立起通信的对象。
Metadata Mapping(元数据映射):在元数据中保存对象-关系映射的细节。
Model View Controller(模型-视图-控制器):将用户界面交互分割成三个不同的角色。
Money(货币):表示货币值。
Optimistic Off line Lock(乐观离线锁):通过检测冲突并回滚事务来防止并发业务事务间的冲突。
Page Controller(页控制器):处理Web站点中特定页面请求或动作的对象。
Pessimistic Off line 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,即首先形成某种逻辑页面,然后将逻辑页面转换成HTML。
Unit of Work(工作单元):维护由业务事务所影响的对象列表,并协调更改的写出以及并发问题的解决。
Value Object(值对象):类似于金钱或数据范围的、小而简单的对象,其相等性不是基于ID的。