Software architecture design patterns in java
副标题:无
作 者:(美)Partha Kuchana著;王卫军,楚宁志等译
分类号:
ISBN:9787121018732
微信扫一扫,移动浏览光盘
简介
本书全面介绍了42个设计模式,其中包括23个经典的GoF模式。新增并常用的19个模式给读者带来了更多的参考价值。本书的程序实例均采用Java语言,并且在Internet上可以获得源代码。本书通篇采用了UML标准图表作为描述工具,使得程序代码、设计模式以及文字说明能很好地融为一体。本书的最后一章为“案例研究”,作者把多个模式放在一个实际的应用场合里一起配合工作。本书适合软件开发和设计人员使用。
本书全面介绍了42个设计模式,其中包括23个经典的GoF模式。新增并常用的19个模式给读者带来了更多的参考价值。本书的程序实例均采用Java语言,并且在Internet上可以获得源代码。本书通篇采用了UML标准图表作为描述工具,使得程序代码、设计模式以及文字说明能很好地融为一体。本书的最后一章为“案例研究”,作者把多个模式放在一个实际的应用场合里一起配合工作,这样的安排使读者能更好地对各种模式综合运用。本书内容深入浅出、清楚易懂,大量的Java程序实例和UML图表使内容更加清晰且更
具有可操作性。
本书适合软件开发和设计人员使用。
目录
目录
第一部分 设计模式简介
第1章 设计模式的起源与历史
从建筑学模式到软件设计模式
何谓设计模式
关于设计模式的更多定义
关于本书
源代码
源代码声明
第二部分 UML
第2章 UML:简介
结构图
行为图
模型管理图
类图
类(Class)
内部类(Inner class)
访问关键字(Access specifier)
静态(Static)
抽象类(Abstract Class)/方法(Method)
异常(Exception)
注释(Note)
通用化(Generalization)
接口(Interlace)
接口实现(Realization)
依赖(Dependency)
类的联合关系(Class association)
序列图
对象(Object)
消息(Message)
自我调用(Self Call)
第三部分 基本模式
第3章 接口
说明
示例
习题
第4章 抽象父类
说明
示例
抽象父类与接口
习题
第5章 私有方法
说明
示例
习题
第6章 存取器方法
说明
存取器方法的命名
示例
直接引用与存取器方法的比较
习题
第7章 常量数据管理器
说明
示例
习题
第8章 不变对象
说明
示例
习题
第9章 管程
说明
示例
习题
第四部分 创建模式
第10章 工厂方法
说明
示例
习题
第11章 单例
说明
职责
示例
使构造器成为专用构造器
访问实例的静态公共接口
习题
第12章 抽象工厂
说明
抽象工厂与抽象方法
示例Ⅰ
示例Ⅱ
运行应用时的逻辑流
习题
第13章 原型
说明
浅复制与深复制
浅复制示例
深复制示例
示例Ⅰ
设计HostingPlanKit类的重要部分
示例Ⅱ
重新设计UserAccount类
创建原型工厂类
习题
第14章 构造者
说明
示例Ⅰ
边注
返回到应用示例
示例Ⅱ
示例Ⅲ
习题
第五部分 集合模式
第15章 合成
说明
示例
设计方法1
FileComponent
DirComponent
设计方法2
习题
第16章 迭代子
说明
Java中的迭代子
过滤迭代子
内部迭代子和外部迭代子
内部迭代子示例
客户/容器交互
外部过滤迭代子示例
习题
第17章 享元
说明
如何使用Java设计享元
设计重点
示例
设计方法1
设计方法2
习题
第18章 访问者
说明
设计思想1
设讳思想2
在对象集上定义新的操作
在对象集上添加新类型的对象
示例
设计方法1
设计方法2
设计方法3(合成模式)
设计方法4(访问者模式)
应用流程
在订单对象集中定义一种新的操作
在对象集中加入一种新的订单类型
习题
第六部分 结构模式
第19章 装饰器
说明
装饰器所具有的特性
示例
具体的日志装饰器
HTMLLogger
EncryptLogger
添加新的消息日志记录器
添加新的装饰器
习题
第20章 适配器
说明
类适配器与对象适配器的比较
类适配器
对象适配器
示例
设计为对象适配器的地址适配器
习题
第21章 责任链
说明
示例
习题
第22章 外观
说明
示例
重要提示
习题
第23章 代理
说明
代理和其他模式的对比
代理—装饰器
代理—外观
代理—责任链
RMI简介
RMI组件
RMI通讯机制
RMI和代理模式
示例
附注
编译和部署
习题
第24章 桥接
说明
示例
抽象体实现设计
抽象体接口设计
抽象体接口类的设计要点
桥接模式和适配器模式
习题
第25章 虚代理
说明
优点
缺点
示例
习题
第26章 计数代理
说明
示例
习题
第27章 聚合强制器
说明
示例
设计方法1(按需初始化)
设计方法2(早期初始化)
设计方法3(final变量)
习题
第28章 显式对象释放
说明
finalize方法
finally语句
示例
理想的情形
异常情形1
异常情形2
习题
第29章 对象缓存器
说明
示例
习题
第七部分 行为模式
第30章 命令
说明
示例1
示例2
应用流程
习题
第31章 调停者
说明
调停者模式与外观模式的对比
示例1
Mediator的客户用法
界面对象:调停者交互
示例2
习题
第32章 备忘录
说明
示例
DataConverter(原发者)
DCClient(客户)
MementoHandler
习题
第33章 观察者
说明
增加新的观察者
示例
目标—观察者联系
习题
第34章 解释器
说明
示例
中缀表达式到后缀表达式转换(见清单34.8)
构造树结构(见清单34.9)
后序遍历树
附加注释
中缀到后缀转换
转换逻辑
二进制树遍历技术
习题
第35章 状态
说明
有状态的对象:示例
示例
习题
第36章 策略
说明
策略与其他方法的比较
策略模式与状态模式的比较
示例
SimpleEncryption
CaesarCypher
SubstitutionCypher
CodeBookCypher
习题
第37章 空对象
说明
示例
习题
第38章 模版方法
说明
虚类
具体类
示例
附加注释
关于Mod10数字检查算法
习题
第39章 对象认证器
说明
示例
习题
第40章 通用属性注册表
说明
示例
习题
第八部分 并发模式
第41章 临界区
说明
示例
方法1(临界区)
方法2(提前初始化)
习题
第42章 协同锁序
说明
示例
习题
第43章 安全挂起
说明
示例
wait()和notify()在ParkingLot类设计里的使用
习题
第44章 读写锁
说明
ReadWriteLock类的设计要点
示例
习题
第九部分 案例研究
第45章 案例研究:网络主机服务公司应用案例
目标
KPS公司解决方案:简要介绍
需求
功能需求
技术需求
业务目标以及它们之间的关系
应用服务处理框架
企业服务层次
任务级别
错误处理
企业服务设计
地址验证
信用卡服务
搜索管理
客户管理
结论
附录A 设计模式清单
附录B 参考书目
第一部分 设计模式简介
第1章 设计模式的起源与历史
从建筑学模式到软件设计模式
何谓设计模式
关于设计模式的更多定义
关于本书
源代码
源代码声明
第二部分 UML
第2章 UML:简介
结构图
行为图
模型管理图
类图
类(Class)
内部类(Inner class)
访问关键字(Access specifier)
静态(Static)
抽象类(Abstract Class)/方法(Method)
异常(Exception)
注释(Note)
通用化(Generalization)
接口(Interlace)
接口实现(Realization)
依赖(Dependency)
类的联合关系(Class association)
序列图
对象(Object)
消息(Message)
自我调用(Self Call)
第三部分 基本模式
第3章 接口
说明
示例
习题
第4章 抽象父类
说明
示例
抽象父类与接口
习题
第5章 私有方法
说明
示例
习题
第6章 存取器方法
说明
存取器方法的命名
示例
直接引用与存取器方法的比较
习题
第7章 常量数据管理器
说明
示例
习题
第8章 不变对象
说明
示例
习题
第9章 管程
说明
示例
习题
第四部分 创建模式
第10章 工厂方法
说明
示例
习题
第11章 单例
说明
职责
示例
使构造器成为专用构造器
访问实例的静态公共接口
习题
第12章 抽象工厂
说明
抽象工厂与抽象方法
示例Ⅰ
示例Ⅱ
运行应用时的逻辑流
习题
第13章 原型
说明
浅复制与深复制
浅复制示例
深复制示例
示例Ⅰ
设计HostingPlanKit类的重要部分
示例Ⅱ
重新设计UserAccount类
创建原型工厂类
习题
第14章 构造者
说明
示例Ⅰ
边注
返回到应用示例
示例Ⅱ
示例Ⅲ
习题
第五部分 集合模式
第15章 合成
说明
示例
设计方法1
FileComponent
DirComponent
设计方法2
习题
第16章 迭代子
说明
Java中的迭代子
过滤迭代子
内部迭代子和外部迭代子
内部迭代子示例
客户/容器交互
外部过滤迭代子示例
习题
第17章 享元
说明
如何使用Java设计享元
设计重点
示例
设计方法1
设计方法2
习题
第18章 访问者
说明
设计思想1
设讳思想2
在对象集上定义新的操作
在对象集上添加新类型的对象
示例
设计方法1
设计方法2
设计方法3(合成模式)
设计方法4(访问者模式)
应用流程
在订单对象集中定义一种新的操作
在对象集中加入一种新的订单类型
习题
第六部分 结构模式
第19章 装饰器
说明
装饰器所具有的特性
示例
具体的日志装饰器
HTMLLogger
EncryptLogger
添加新的消息日志记录器
添加新的装饰器
习题
第20章 适配器
说明
类适配器与对象适配器的比较
类适配器
对象适配器
示例
设计为对象适配器的地址适配器
习题
第21章 责任链
说明
示例
习题
第22章 外观
说明
示例
重要提示
习题
第23章 代理
说明
代理和其他模式的对比
代理—装饰器
代理—外观
代理—责任链
RMI简介
RMI组件
RMI通讯机制
RMI和代理模式
示例
附注
编译和部署
习题
第24章 桥接
说明
示例
抽象体实现设计
抽象体接口设计
抽象体接口类的设计要点
桥接模式和适配器模式
习题
第25章 虚代理
说明
优点
缺点
示例
习题
第26章 计数代理
说明
示例
习题
第27章 聚合强制器
说明
示例
设计方法1(按需初始化)
设计方法2(早期初始化)
设计方法3(final变量)
习题
第28章 显式对象释放
说明
finalize方法
finally语句
示例
理想的情形
异常情形1
异常情形2
习题
第29章 对象缓存器
说明
示例
习题
第七部分 行为模式
第30章 命令
说明
示例1
示例2
应用流程
习题
第31章 调停者
说明
调停者模式与外观模式的对比
示例1
Mediator的客户用法
界面对象:调停者交互
示例2
习题
第32章 备忘录
说明
示例
DataConverter(原发者)
DCClient(客户)
MementoHandler
习题
第33章 观察者
说明
增加新的观察者
示例
目标—观察者联系
习题
第34章 解释器
说明
示例
中缀表达式到后缀表达式转换(见清单34.8)
构造树结构(见清单34.9)
后序遍历树
附加注释
中缀到后缀转换
转换逻辑
二进制树遍历技术
习题
第35章 状态
说明
有状态的对象:示例
示例
习题
第36章 策略
说明
策略与其他方法的比较
策略模式与状态模式的比较
示例
SimpleEncryption
CaesarCypher
SubstitutionCypher
CodeBookCypher
习题
第37章 空对象
说明
示例
习题
第38章 模版方法
说明
虚类
具体类
示例
附加注释
关于Mod10数字检查算法
习题
第39章 对象认证器
说明
示例
习题
第40章 通用属性注册表
说明
示例
习题
第八部分 并发模式
第41章 临界区
说明
示例
方法1(临界区)
方法2(提前初始化)
习题
第42章 协同锁序
说明
示例
习题
第43章 安全挂起
说明
示例
wait()和notify()在ParkingLot类设计里的使用
习题
第44章 读写锁
说明
ReadWriteLock类的设计要点
示例
习题
第九部分 案例研究
第45章 案例研究:网络主机服务公司应用案例
目标
KPS公司解决方案:简要介绍
需求
功能需求
技术需求
业务目标以及它们之间的关系
应用服务处理框架
企业服务层次
任务级别
错误处理
企业服务设计
地址验证
信用卡服务
搜索管理
客户管理
结论
附录A 设计模式清单
附录B 参考书目
Software architecture design patterns in java
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×