当前位置:首页 > 工业技术
构件化软件  超越面向对象编程  第2版
构件化软件  超越面向对象编程  第2版

构件化软件 超越面向对象编程 第2版PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)Clemens Szyperski等著;王千祥等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7121001713
  • 页数:541 页
图书介绍:
《构件化软件 超越面向对象编程 第2版》目录

目录 1

第1部分动因——构件与市场 1

第1章引论 3

1.1构件是为组装服务的 3

1.2构件——定制软件与标准软件 4

1.3构件技术的必然性 6

1.4软件的本质与可部署实体 8

1.5构件是部署单元 10

1.6经验总结 12

第2章市场和技术 17

2.1创造市场 18

2.2构件技术的基本特征 19

2.3市场发展 20

2.3.1 Strategic Focus(1995年1月) 21

2.3.2 Ovum(1995年) 21

2.3.3 IDC(1996年5月) 22

2.3.4 Forrester的研究(1996年10月) 23

2.3.5 IDC(1999年4月) 23

2.3.6 ComponentSource(2001年) 24

2.3.7Flashline(2001年) 25

第3章标准 27

3.1 (准)标准的重要性 27

3.2配线标准是不够的 29

3.3太多竞争标准是无用的 30

3.4今天的软件构件技术在哪里 31

3.5下一步该如何走 32

第2部分基础 35

第4章构件的定义 37

4.1术语与概念 37

4.1.1 构件 38

4.1.2对象 39

4.1.3构件与对象 39

4.1.4模块 40

4.1.5 白盒抽象、黑盒抽象与重用 42

4.1.6接口 43

4.1.7显式语境依赖 45

4.1.8构件的规模 46

4.2.1通用市场与专业市场 47

4.2标准化与规范化 47

4.2.2标准的构件体系与规范化 48

第5章构件、接口与重入 49

5.1构件与接口 49

5.1.1直接接口与间接接口 50

5.1.2版本 52

5.1.3作为合约的接口 52

5.1.4合约与非功能性需求 53

5.1.5未成文的“特征” 54

5.2合约内容 54

5.2.1安全与进度 54

5.2.3指定时间与空间的需求 55

5.2.2非功能性需求 55

5.3形式化与非形式化 57

5.4回调与合约 57

5.5回调与合约:示例 59

5.5.1 目录服务 59

5.5.2目录服务的客户 60

5.5.3客户新版本 61

5.5.4违约 64

5.5.5防患于未然 64

5.5.6修正目录服务 65

5.5.7测试函数的应用 66

5.6从回调到对象 67

5.7从对象间的一致性到对象重入 74

5.8自干涉与对象重入:总结 77

5.9进程与多线程 78

5.10历史记录 79

5.11规约声明 80

第6章多态性 83

6.1 可替代性 83

6.2类型、子类型和类型检查 88

6.3子类型 90

6.4对象语言与类型 93

6.5类型、接口与构件 93

6.6独立可扩展性范型 95

6.7构造安全性——构件的生存力 98

6.7.2模块安全性与元编程 99

6.7.1模块安全性 99

6.7.3多语言环境下的安全性 100

6.8安全性、安全和信任 101

6.9独立可扩展性的维度 102

6.9.1瓶颈接口 102

6.9.2单独配置 103

6.9.3并行扩展、正交扩展与递归扩展 103

6.10接口和合约的演化与不变性 104

6.10.1合约的语法与语义变化 104

6.10.2合约的有效期 105

6.10.3最高法则 106

6.11多态性的其他形式 106

7.1继承——今天的汤 109

第7章对象与类组装或怎样避免继承 109

7.2在汤中加更多的香料 110

7.2.1多继承 110

7.2.2 Mixins 112

7.3回到基本因素 114

7.4脆弱基类问题 115

7.4.1语法脆弱基类问题 115

7.4.2语义脆弱基类问题 116

7.5继承——更深入的问题 117

7.6受约束的继承方法 122

7.6.1特化接口 122

7.6.2类型化特化接口 123

7.6.3特化接口的行为规约 124

7.6.4重用合约和合作合约 127

7.6.5表示不变式和方法精化 130

7.6.6避免脆弱基类问题的受约束继承 130

7.6.7创建正确的子类且不必关心超类代码 130

7.7从类到对象组装 132

7.8转发与代理 135

7.9对代理与继承的简单回顾 136

第8章构件的规模与粒度 139

8.1 抽象单元 139

8.2计费单元 140

8.4编译单元 141

8.3分析单元 141

8.5分发单元 142

8.6部署单元 143

8.7争论单元 143

8.8扩展单元 144

8.9错误包容单元 145

8.10实例单元 146

8.11安装单元 146

8.12加载单元 147

8.13局部化单元 148

8.15系统管理单元 149

8.16小结 149

8.14维护单元 149

第9章模式、框架和体系结构 151

9.1设计级重用的形式 151

9.1.1共享一致性——编程语言 152

9.1.2共享具体的解决片段——库 153

9.1.3共享单个的合约——接口 154

9.1.4共享单个的交互片断——消息和协议 154

9.1.5共享单个的交互结构——模式 156

9.1.6共享体系结构——框架 158

9.1.7共享总体结构——系统体系结构 161

9.1.8由子系统组成的系统——框架级别 163

9.2互操作性,遗产和再工程 165

10.1适合不同开发者的不同编程方法 167

第10章编程 167

10.2为一个系统进行程序设计 170

10.3面向连接的程序设计 170

10.4面向连接的程序设计——更深一步的概念 173

10.5事件和消息 179

10.5.1消息语法和模式——XML 181

10.5.2事件和调用 183

10.5.3调用的语法和协议——SOAP 184

10.6事件的顺序——因果条件、竞争条件和脉冲干扰 185

10.7极度延迟绑定——分派接口和元编程 187

10.8 自由度——沙箱方法和静态安全方法 189

10.9录制与脚本 190

11.2 OscarNierstrasz和Dennis Tsichritzis(1992,1995) 193

第11章其他的说法 193

11.1 Grady Booch(1987) 193

11.3 Gio Wiederhold,Peter Wegner和Stefano Ceri (1992) 194

11.4 Ivar Jacobson(1993) 194

11.5 Meta Group(1994) 195

11.6 Jed Harris(1995) 195

11.7 Ovum关于分布式对象的报告(1995) 195

11.8 Robert Orfali,Dan Harkey和Jeri Edwards(1995,1996) 196

11.9 Johannes Sametinger(1997) 197

11.10 UML 1.3 Standard(1999) 197

11.11 Desmond D Souza和Alan Wills(1999) 198

11.12 KrzysztofCzarnecki和UlrichEisenecker(2000) 198

11.13 Peter Herzum和Oliver Sims (2000) 199

11.14 CBSE手册(2001) 201

第3部分构件模型与平台 203

第12章对象和构件的“布线”标准 205

12.1布线标准从何而来 205

12.2从过程到对象 207

12.3深层次问题 208

12.3.1接口和对象引用规范 208

12.3.2接口关系和多态性 209

12.3.3命名和定位服务 209

12.3.4复合文档 210

12.4 XML 212

12.4.1 XML、XML名字空间、XML方案 213

12.4.2 XML支持标准 218

12.4.3 XML文档对象和流模型 219

12.4.4 SOAP 220

12.4.5 XML Web服务:WSDL,UDDI,WSFL,XLANG 222

12.4.6 Web服务和编程模型 228

12.5走哪一条路 229

第13章OMG方式:CORBA,CCM,OMA和MDA 231

13.1核心——对象请求代理 231

13.1.1从CORBA到OMA 235

13.1.2 CORBA版本一览 236

13.1.3系统对象模型(SOM)简介 238

13.2.1支持企业分布式计算的服务 239

13.2公共对象服务规范(CORBA服务) 239

13.2.2支持细粒度对象互操作的服务 241

13.3 CORBA构件模型 245

13.3.1可移植对象适配器 246

13.3.2 CCM构件 247

13.3.3 CCM容器 250

13.4与CORBA兼容的实现 250

13.4.1 BEA的WebLogic 251

13.4.2 IBM的WebSphere 252

13.4.3 IONA公司的Orbix E2A应用服务器平台 253

13.4.4 Borland公司的企业服务器 253

13.4.5非营利的实现 254

13.6应用对象 255

13.5 CORBA设施 255

13.7 CORBA,UML,XML和MDA 256

13.7.1元对象设施 257

13.7.2模型驱动的体系结构(MDA) 257

第14章SUN公司的方式——Java,Javabean,EJB和Java 2 259

14.1 Java构件技术的概述与历史 259

14.1.1 Java与Java 2 260

14.1.2运行环境和参考实现 261

14.1.3版本家族——微型版、标准版和企业版 263

14.2 Java语言 268

14.2.1接口和类 271

14.2.2异常和异常处理 276

14.2.3线程和同步 277

14.2.4垃圾回收 281

14.3 JavaBean 283

14.3.1事件和连接 284

14.3.2属性 286

14.3.3自省 288

14.3.4 JAR文件——Java构件的打包文件 291

14.4基本的Java服务 292

14.4.1反射 292

14.4.2对象序列化 296

14.4.3 Java本地接口 297

14.4.4 JavaAWT和JFC/Swing 299

14.4.5高级JavaBean规范 300

14.5各种构件——Applet,Servlet,Bean和Enterprise Bean 302

14.5.1 Java ServerPage(JSP)和Servlet 304

14.5.2语境相关组装——EJB 307

14.5.3数据驱动组装——EJB 2.0中的消息驱动Bean 315

14.6高级Java服务 316

14.6.1分布式对象模型和RMI 316

14.6.2 Java和CORBA 318

14.6.3企业级服务接口 319

14.6.4 Java和XML 322

14.7重新比较Java中的接口和类 323

14.8.1 Jini——Java服务和客户的联合体 324

14.8 JXTA和Jini 324

14.8.2 JXTA——点对点计算 325

14.9 Java和Web服务——SunONE 327

第15章微软的方式:COM,OLE/Activex,COM+和.NET CLR 329

15.1 第一个基础关联模型——COM 330

15.2 COM对象重用 334

15.3接口和多态 337

15.3.1类别 338

15.3.2接口和版本化 339

15.4 COM对象的创建和COM库 339

15.5初始化对象、持久化、结构化存储、绰号(moniker) 341

15.6从COM到分布式COM(DCOM) 343

15.7元信息和自动化 344

15.8.1统一数据传输 345

15.8其他COM服务 345

15.8.2分派接口和双接口 346

15.8.3外出接口和可连接对象 347

15.9复合文档和OLE 348

15.9.1 OLE容器和服务器 349

15.9.2控件——从Visual Basic到OLE再到ActiveX 350

15.10依赖语境的组装和服务 352

15.10.1 COM套间——线程和同步 352

15.10.2微软事务服务器——语境和激活 353

15.10.3 COM+—通用化语境和数据驱动的组装 354

15.11.1.NET大图景 356

15.11二者兼取——.NET框架 356

15.11.2通用语言基础设施 357

15.11.3 COM和平台的互操作 360

15.11.4示范型.NET语言——C# 360

15.11.5 Visual Studio.NET 364

15.12配件——.NET软件构件 364

15.13通用语言框架 366

15.13.1应用域、语境、反射及远程化 370

15.13.2 Windows Forms,data,management 373

15.13.3 Web Forms,Active ServerPages(ASP).NET 374

15.13.4 XML和数据 376

15.13.5 Enterprise services 376

15.13.6用.NET的Web Services 377

16.1计算机界优异的程序设计语言扩充 379

第16章进一步的技术 379

16.2日立的应用库 380

16.3 Groove收发器 380

第17章战略上的比较 383

17.1共性 383

17.2不同点 384

17.3为基础设施厂商做出的推论 388

17.4为构件厂商所做的推断 393

第18章领域标准方面的努力 395

18.1 OMG领域技术委员会 395

18.1.1 OMG商业对象领域工作组 396

18.2 W3C 396

18.3.1 OASIS和ebXML 397

18.3商业过程和文档 397

18.3.2 RosettaNet和PIPs 398

18.3.3 BizTalk.org 399

18.4 DMTF的CIM和WBEM 400

18.5 Java范围内制定标准的工作 401

18.6过程控制的OLE 402

18.7工业协会 402

18.7.1信息技术工业分组 402

18.7.2商业协会 403

18.7.3用户协会 403

第19章 当前值得关注的问题 405

19.1领域标准 405

19.3那么它是面向对象的吗 406

19.2软件工程基础的再思考 406

19.4对象的迁移性和可移动代理 409

19.5基础——更好的合约,更好的构件 410

第4部分构件结合体系结构和进程 413

第20章构件体系结构 415

20.1体系结构的角色 415

20.2概念化——超越对象 416

20.3关键术语的定义 417

20.4分层的构件体系结构 418

20.5构件和中间件 420

20.6构件与生成式编程 421

第21章构件框架 423

21.1.1基础与根源 424

21.1语境相关构件框架的贡献 424

21.1.2语境相关的构件框架与连接子(Connector) 426

21.1.3语境相关的构件框架与元编程 427

21.1.4语境相关的构件框架与面向侧面的编程 428

21.2语境相关组合框架 429

21.2.1 COM+语境 429

21.2.2 EJB容器 430

21.2.3 CCM容器 431

21.2.4 CLR语境和通道 431

21.2.5元组和对象空间 433

21.3黑盒构件框架 434

21.3.1 Carrier-rider-mapper设计模式 435

21.3.2目录对象 437

21.3.3层次模型视图分隔 439

21.3.4容器状态 441

21.3.5 串联的消息多播服务 443

21.3.6基于复合文档的高级应用 446

21.4黑盒和OLE 448

21.5 Portos——一个硬实时构件框架及其IDE 449

21.5.1 Portos的结构 450

21.5.2实时调度程序 452

21.5.3交叉开发环境 454

第22章构件开发 455

22.1面向构件的编程方法学 455

22.1.2多线程 456

22.1.1异步问题 456

22.1.3从电路设计中获得的经验 457

22.1.4 “生活”在没有实现继承的状态下 458

22.1.5坚壳类 459

22.1.6语言支持 459

22.1.7转发语义的动态基对象 460

22.1.8调用者封装 462

22.2环境——选择目标框架 465

22.3工具——选择编程语言 465

第23章构件的分发和获取 467

23.1构建能出售的——应用程序而不是构件 467

23.2产品目录和描述 468

23.3构件定位和选择 469

23.4超级分发 470

23.5 中介 471

第24章构件组装 473

24.1构件初始化及互连 473

24.2构件的可视化组装 474

24.3用复合文档取代可视化组装 474

24.4非图形用户界面环境的构件 475

24.5可管理且“自引导的”构件组装 476

24.6最终用户组装 477

24.7构件演化 477

25.1高级的对象组装 481

25.1.1委托 481

第25章技术发展趋向 481

25.1.2分割对象 482

25.1.3环境型获取 483

25.1.4动态继承 483

25.2对象和构件的抽象的新形式 483

25.2.1面向主题的编程 484

25.2.2面向侧面的编程 484

25.2.3 XML构件 485

第5部分市场与构件 487

第26章市场全接触 489

26.1构件 489

26.2构件平台和基础设施 489

26.3.1构件设计与实现工具 490

26.3工具 490

26.3.3构件组装工具 491

26.3.2构件测试工具 491

26.3.4构件系统的诊断和维护 492

26.4专业性服务 492

26.4.1构件系统及框架的架构师 492

26.4.2构件组装顾问 492

26.4.3构件配置管理 493

26.4.4构件库、市场与咨询 493

26.4.5构件操作者、Web服务、应用服务器提供商 494

第27章新职业 495

27.1构件系统架构师 495

27.3构件开发者 496

27.2构件框架架构师 496

27.4构件组装者 497

第28章构件市场悖论 499

28.1品牌化 500

28.2为每次使用付费 500

28.3和广告联合发布 503

28.4对新兴市场的利用 504

28.5综合力量的作用 505

附录AJava、C#与component Pascal的对比 507

词汇表 513

后记 541

相关图书
作者其它书籍
返回顶部