作品简介

本书作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。本书获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。本书分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是本书的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。此外,整本书中还用了大量UML图来进一步阐明有关概念。

本书是为致力于设计和构建企业应用的软件架构师、设计人员和编程人员而写的,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。

Martin Fowler是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UK National Health Service,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UML Distilled》的作者。

作品目录

  • 译者序
  • 前言
  • 模式列表
  • 引言
  • 0.1 架构
  • 0.2 企业应用
  • 0.3 企业应用的种类
  • 0.4 关于性能的考虑
  • 0.5 模式
  • 0.5.1 模式的结构
  • 0.5.2 模式的局限性
  • 第一部分 表述
  • 第1章 分层
  • 1.1 企业应用中层次的演化
  • 1.2 三个基本层次
  • 1.3 为各层选择运行环境
  • 第2章 组织领域逻辑
  • 2.1 抉择
  • 2.2 服务层
  • 第3章 映射到关系数据库
  • 3.1 架构模式
  • 3.2 行为问题
  • 3.3 读取数据
  • 3.4 结构映射模式
  • 3.5 建立映射
  • 3.6 使用元数据
  • 3.7 数据库连接
  • 3.8 其他问题
  • 3.9 进一步阅读
  • 第4章 Web表现层
  • 4.1 视图模式
  • 4.2 输入控制器模式
  • 4.3 进一步阅读
  • 第5章 并发
  • 5.1 并发问题
  • 5.2 执行语境
  • 5.3 隔离与不变性
  • 5.4 乐观并发控制和悲观并发控制
  • 5.5 事务
  • 5.6 离线并发控制的模式
  • 5.7 应用服务器并发
  • 5.8 进一步阅读
  • 第6章 会话状态
  • 6.1 无状态的价值
  • 6.2 会话状态
  • 6.3 存储会话状态的方法
  • 第7章 分布策略
  • 7.1 分布对象的诱惑
  • 7.2 远程接口和本地接口
  • 7.3 必须使用分布的情况
  • 7.4 关于分布边界
  • 7.5 分布接口
  • 第8章 通盘考虑
  • 8.1 从领域层开始
  • 8.2 深入到数据源层
  • 8.3 表现层
  • 8.4 一些关于具体技术的建议
  • 8.5 其他分层方式
  • 第二部分 模式
  • 第9章 领域逻辑模式
  • 9.1 事务脚本(Transaction Script)
  • 9.2 领域模型(Domain ModeI)
  • 9.3 表模块(TabIe ModuIe)
  • 9.4 服务层(Service LaYer)
  • 第10章 数据源架构模式
  • 10.1 表数据入口(TabIe Data GatewaY)
  • 10.2 行数据入口(Row Data GatewaY)
  • 10.3 活动记录(Active Record)
  • 10.4 数据映射器(Data Mapper)
  • 第11章 对象-关系行为模式
  • 11.1 工作单元(Unit of Work)
  • 11.2 标识映射(IdentitY Map)
  • 11.3 延迟加载(LazY Load)
  • 第12章 对象-关系结构模式
  • 12.1 标识域(IdentitY FieId)
  • 12.2 外键映射(Foreign KeY Mapping)
  • 12.3 关联表映射(Association TabIe Mapping)
  • 12.4 依赖映射(Dependent Mapping)
  • 12.5 嵌入值(Embedded VaIue)
  • 12.6 序列化LOB (Serialized LOB)
  • 12.7 单表继承(SingIe TabIe Inheritance)
  • 12.8 类表继承(CIass TabIe Inheritance)
  • 12.9 具体表继承(Concrete TabIe Inheritance)
  • 12.10 继承映射器(Inheritance Mappers)
  • 第13章 
  • 13.1 元数据映射(Metadata Mapping)
  • 13.2 查询对象(QuerY Object)
  • 13.3 资源库(RepositorY)
  • 第14章 Web表现模式
  • 14.1 模型-视图-控制器(ModeI View ControIIer)
  • 14.2 页面控制器(Page ControIIer)
  • 14.3 前端控制器(Front ControIIer)
  • 14.4 模板视图(TempIate View)
  • 14.5 转换视图(Transform View)
  • 14.6 两步视图(Two Step View)
  • 14.7 应用控制器(AppIication ControIIer)
  • 第15章 分布模式
  • 15.1 远程外观(Remote Facade)
  • 15.2 数据传输对象(Data Transfer Object)
  • 第16章 离线并发模式
  • 16.1 乐观离线锁(Optimistic OffIine Lock)
  • 16.2 悲观离线锁(Pessimistic OffIine Lock)
  • 16.3 粗粒度锁(Coarse-Grained Lock)
  • 16.4 隐含锁(ImpIicit Lock)
  • 第17章 会话状态模式
  • 17.1 客户会话状态(CIient Session State)
  • 17.2 服务器会话状态(Server Session State)
  • 17.3 数据库会话状态(Database Session State)
  • 第18章 基本模式
  • 18.1 入口(GatewaY)
  • 18.2 映射器(Mapper)
  • 18.3 层超类型(LaYer SupertYpe)
  • 18.4 分离接口(Separated Interface)
  • 18.5 注册表(RegistrY)
  • 18.6 值对象(VaIue Object)
  • 18.7 货币(MoneY)
  • 18.8 特殊情况(SpeciaI Case)
  • 18.9 插件(PIugin)
  • 18.10 服务桩(Service Stub)
  • 18.11 记录集(Record Set)
  • 参考文献
展开全部