《软件设计模式与体系结构》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:孙玉山,刘旭东主编;黄俊恒,夏勇,朱东杰副主编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2013
  • ISBN:9787040372021
  • 页数:313 页
图书介绍:本书针对软件体系结构理论较为抽象,而在校学生往往无实践经验的特点,将高层的软件体系结构和低层的软件设计模式结合起来,并通过精心设计的实例,引导学生掌握本课程的相关内容。全书分为上、下篇,共7章。上篇为软件设计模式,包括第1~4章,分别为软件设计模式概述、创建型软件设计模式、结构型软件设计模式和行为型软件设计模式;下篇为软件体系结构,包括第5~7章,分别为软件体系结构概述、经典软件体系结构和基于网络的软件体系结构。为便于读者理解与掌握相应的理论知识,书中给出了大量的设计实例和趣味性较强的课下设计-编程作业,每个实例和课下设计-编程作业都试图解释使用设相应计模式或者体系结构进行设计的要点所在。所有实例和课下设计-编程作业均由Java语言实现,完整代码见书后所附光盘。本书可作为普通高等学校计算机科学与技术、软件工程等专业本科高年级或研究生相关课程教材,也可供软件工程师参考使用。

上篇 软件设计模式 3

第1章 软件设计模式概述 3

1.1软件设计模式的由来 3

1.2软件设计模式的概念及意义 3

1.3软件设计模式与软件体系结构 4

1.4软件设计模式的分类 5

第2章 创建型软件设计模式 7

2.1工厂方法与抽象工厂模式 7

2.1.1工厂方法应用场景 7

2.1.2简单工厂方法模式 10

2.1.3工厂方法模式 12

2.1.4抽象工厂模式 15

2.1.5关于工厂方法模式与抽象工厂模式的讨论 21

练习题与课下设计-编程作业1 23

2.2生成器模式 24

2.2.1生成器模式应用场景 24

2.2.2生成器模式的概念与机制 25

2.2.3生成器模式应用实例 27

2.2.4工厂方法模式、抽象工厂模式与生成器模式的比较 36

课下设计-编程作业2 36

2.3单例模式 37

2.3.1单例模式的概念与机制 37

2.3.2单例模式应用实例 38

2.3.3多线程编程中的单例模式 41

练习题与课下设计-编程作业3 44

本章总结 44

第3章 结构型软件设计模式 46

3.1组合模式 46

3.1.1组合模式的应用场景 46

3.1.2组合模式的概念与机制 48

3.1.3组合模式应用实例 49

3.1.4关于组合模式的讨论 61

练习题与课下设计-编程作业4 66

3.2适配器模式 67

3.2.1现实生活中的适配器 67

3.2.2适配器模式的概念与机制 68

3.2.3关于适配器模式的讨论 73

练习题与课下设计-编程作业5 75

3.3外观模式 76

3.3.1现实生活中的外观 76

3.3.2外观模式的概念 77

3.3.3使用外观模式进行设计的实例 78

3.3.4关于外观模式的讨论,89课下设计-编程作业6 89

3.4桥接模式 89

3.4.1桥接模式应用场景 90

3.4.2桥接模式的概念与机制 92

3.4.3桥接模式应用实例 93

3.4.4关于桥接模式的讨论 96

练习题与课下设计-编程作业7 97

本章总结 98

第4章 行为型软件设计模式 99

4.1迭代器模式 99

4.1.1迭代器模式应用场景 99

4.1.2迭代器模式的概念与机制 104

4.1.3迭代器模式应用实例 106

练习题与课下设计-编程作业8 111

4.2访问者模式 111

4.2.1访问者模式应用场景 112

4.2.2访问者模式的概念与机制 114

4.2.3访问者模式应用实例 116

4.2.4关于被访问者与访问者类之间的关联关系 122

4.2.5关于访问者模式中的ObjectStrueture类的Java实现 123

练习题与课下设计-编程作业9 124

4.3命令模式 124

4.3.1命令模式应用场景 125

4.3.2命令模式的概念与机制 126

4.3.3命令模式应用实例 127

4.3.4关于命令模式的讨论 137

练习题与课下设计-编程作业10 137

4.4中介者模式 138

4.4.1中介者模式应用场景 138

4.4.2中介者模式的概念与机制 139

4.4.3中介者模式应用实例 140

4.4.4中介者模式的实现细节 147

练习题与课下设计-编程作业11 148

4.5策略模式 149

4.5.1策略模式应用场景 150

4.5.2策略模式概念与机制 151

4.5.3策略模式应用实例 152

4.5.4关于策略模式的讨论 157

练习题与课下设计-编程作业12 158

4.6状态模式 160

4.6.1状态模式应用场景 160

4.6.2状态模式的概念与机制 161

4.6.3状态模式应用实例 163

4.6.4关于状态模式的讨论 174

练习题与课下设计-编程作业13 175

本章总结 176

下篇 软件体系结构 179

第5章 软件体系结构概述 179

5.1软件体系结构的概念 179

5.2软件体系结构的意义 179

5.3软件体系结构与软件质量属性 180

5.4软件体系结构的风格 181

第6章 经典软件体系结构 183

6.1调用-返回风格软件体系结构 183

6.1.1非结构化编程简介 183

6.1.2调用-返回风格软件体系结构的概念 184

6.1.3主程序-子程序软件体系结构 186

6.1.4面向对象软件体系结构 189

6.1.5主程序-子程序与面向对象体系结构的案例分析 195

6.1.6主程序-子程序与面向对象体系结构的比较 202

练习题与课下设计-编程作业14 204

6.2数据流风格软件体系结构 204

6.2.1数据流系统与数据流风格软件体系结构概述 204

6.2.2顺序批处理软件体系结构 205

6.2.3管道-过滤器软件体系结构 210

6.2.4顺序批处理系统与管道-过滤器软件体系结构的比较 226

练习题与课下设计-编程作业15 227

6.3事件系统软件体系结构 228

6.3.1事件系统软件体系结构的概念 228

6.3.2事件处理策略 233

6.3.3观察者模式应用场景 234

6.3.4观察者模式的概念与机制 235

6.3.5观察者模式应用实例 237

练习题与课下设计-编程作业16 244

6.4层次软件体系结构 245

6.4.1层次软件体系结构的概念 246

6.4.2一种典型的层次软件体系结构 248

6.4.3层次软件体系结构设计实例 248

练习题与课下设计-编程作业17 254

6.5 MVC软件体系结构 255

6.5.1 MVC软件体系结构应用场景 255

6.5.2 MVC软件体系结构的概念与机制 256

6.5.3 MVC软件体系结构应用实例 258

6.5.4关于MVC软件体系结构的讨论 268

练习题与课下设计-编程作业18 269

本章总结 270

第7章 基于网络的软件体系结构 271

7.1客户端-服务器软件体系结构 271

7.1.1一层客户端-服务器软件体系结构 272

7.1.2文件共享软件体系结构 272

7.1.3两层客户端-服务器软件体系结构 273

7.1.4三层客户端-服务器软件体系结构 275

7.1.5 Java EE软件体系结构简介 277

7.1.6三层层次体系结构与三层客户端-服务器软件体系结构的区别 279

练习题19 280

7.2 P2P软件体系结构 281

7.2.1 P2P软件体系结构的由来 281

7.2.2 P2P软件体系结构概述 282

7.2.3集中目录式P2 P——第一代P2 P软件体系结构 283

7.2.4纯P2 P——第二代P2 P软件体系结构 284

7.2.5非结构化的层次纯P2 P——第三代P2 P软件体系结构 286

7.2.6 JXTA—— P2P协议 287

练习题20 288

7.3网格计算软件体系结构 288

7.3.1网格计算的概念 289

7.3.2网格计算与其他计算的比较 292

7.3.3网格计算标准OGSI与开发工具 293

7.3.4网格计算应用领域与世界上著名的网格计算项目 294

练习题21 294

7.4 SOA软件体系结构与Web Service 295

7.4.1电子商务中B2 B模型简介 295

7.4.2 SOA软件体系结构的概念 296

7.4.3 Web Services 300

练习题22 302

7.5云计算软件体系结构 302

7.5.1云计算的概念及产生背景 302

7.5.2云计算软件体系结构 304

7.5.3云计算关键技术 306

7.5.4典型云计算平台 308

7.5.5云计算体系结构与网格计算体系结构的比较 310

练习题23 311

本章总结 311

参考文献 312