Ark's Read-Engine #01: OOSC(2/e) (Part 0)
二客读书瘾勤 第1集:面向对象软件构造(第二版)(其之零)
书名:Object-Oriented Software Construction Second Edition
作者:Bertrand Meyer
出版:清华大学出版社/Prentice-Hall International,Inc.
[本书内容的组织]
在本书接下去的页码里,我们将纵览面向对象软件构造的方法和技巧。所述内容分为六大部分。
[第一部分:第1至2章]
第一部分是介绍和概览。本部分内容开始先探索了软件质量(software quality)的基础议题,接着又对软件方法(method)的主要技术特征作了一个简明的审视。这一部分基本上可以作为一本独立的小书自成一体,为心急的读者提供面向对象方法的第一印象。
[第二部分:第3至6章]
第二部分并不急着深入主题。本部分以“通往面向对象之路”为标题,花费笔墨描述一些方法学方面的问题,通过对这些问题的斟酌引入核心的面向对象概念。其叙述焦点放在模块性方面:如何为“大型(in-the-large)”系统之构造设计出令人满意的结构。最后介绍抽象数据型别(abstract data types)——对象技术(object technology)的数学基础——结束本部分内容。涉及到的数学知识比较初级,对数学“无胜于聊”的读者可以只满足于其中基本的概念,但其为你完全理解面向对象原理和论题提供了理论背景知识。
[第三部分:第7至18章]
第三部分是本书的技术核心。本部分逐个阐述面向对象方法中的核心技术组件:类(classes);对象(objects)及相关的运行期模型(run-time model);内存管理问题;泛型(genericity)和型别化(typing);契约式设计(design by contract),断言(assertions),异常(exceptions);继承(inheritance),多态(polymorphism)和动态绑定(dynamic binding)的相关概念,及其许多激动人心的应用。
[第四部分:第19至29章]
第四部分讨论方法学,特别强调分析与设计。本部分通过几个深入的案例研究,阐述一些基本的设计模式(design patterns),涵盖了诸如“如何寻求类(classes)”、“如何恰当的使用继承”以及“如何设计可复用程序库”等主要问题。一开始先讨论了对方法论学家以及其他陈述建议者的智力要求;继而又对面向对象开发的软件过程(生命周期模型)作了回顾,最后还讨论了如何在工业领域和大学里极尽所能的教授面向对象方法学。
[第五部分:第30至32章]
第五部分探索进阶的主题:并发性(concurrency),分布性(distribution),“客户-服务器”开发以及因特网;永续性(persistence),方案演化(schema evolution)以及面向对象数据库;设计具有现代(“GUI”)图形接口的交互式系统。
[第六部分:第33至35章]
第六部分纵览如何在各种语言和环境下进行面向对象实现(在某些情况下是模拟)。特别的,这部分包含了对主要面向对象语言的讨论,重点讨论Simula、Smalltalk、Objective-C、C++、Ada95以及Java;还评估了如何在诸如Fortran、Cobol、Pascal、C以及Ada等非面向对象语言中获得一些面向对象所带来的益处。
[第七部分:第36章]
第七部分(“把事情做对”)描述了一个开发环境,它更进一步体现了面向对象的解决方案,提供了一个集成工具集以支持本书中所论述的面向对象方法。
[附录一]
作为补充的参考内容,附录一展示了本书论及的一些重要可复用程序库的类(classes),为可复用软件的设计提供了参考模型。
Contents
[目录]
Preface v
Foreword to the second edition xiii
About the accompanying CD-ROM xiv
On the bibliography, Internet sources and exercises xv
Contents xvii
PART A: THE ISSUES 1
第一部分:基本议题
Chapter 1: Software quality 3
第1章:软件质量
1.1 EXTERNAL AND INTERNAL FACTORS 3
1.2 A REVIEW OF EXTERNAL FACTORS 4
1.3 ABOUT SOFTWARE MAINTENANCE 17
1.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 19
1.5 BIBLIOGRAPHICAL NOTES 19
Chapter 2: Criteria of object orientation 21
第2章:面向对象的准则
2.1 ON THE CRITERIA 21
2.2 METHOD AND LANGUAGE 22
2.3 IMPLEMENTATION AND ENVIRONMENT 31
2.4 LIBRARIES 33
2.5 FOR MORE SNEAK PREVIEW 34
2.6 BIBLIOGRAPHICAL NOTES AND OBJECT RESOURCES 34
PART B: THE ROAD TO OBJECT ORIENTATION 37
第二部分:通往面向对象之路
Chapter 3: Modularity 39
第3章:模块性
3.1 FIVE CRITERIA 40
3.2 FIVE RULES 46
3.3 FIVE PRINCIPLES 53
3.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 64
3.5 BIBLIOGRAPHICAL NOTES 64
EXERCISES 65
Chapter 4: Approaches to reusability 67
第4章:通向可复用性的途径
4.1 THE GOALS OF REUSABILITY 68
4.2 WHAT SHOULD WE REUSE? 70
4.3 REPETITION IN SOFTWARE DEVELOPMENT 74
4.4 NON-TECHNICAL OBSTACLES 74
4.5 THE TECHNICAL PROBLEM 81
4.6 FIVE REQUIREMENTS ON MODULE STRUCTURES 83
4.7 TRADITIONAL MODULAR STRUCTURES 89
4.8 OVERLOADING AND GENERICITY 93
4.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 98
4.10 BIBLIOGRAPHICAL NOTES 99
Chapter 5: Towards object technology 101
第5章:朝对象技术进发
5.1 THE INGREDIENTS OF COMPUTATION 101
5.2 FUNCTIONAL DECOMPOSITION 103
5.3 OBJECT-BASED DECOMPOSITION 114
5.4 OBJECT-ORIENTED SOFTWARE CONSTRUCTION 116
5.5 ISSUES 117
5.6 KEY CONCEPTS INTRODUCED IN THIS CHAPTER 119
5.7 BIBLIOGRAPHICAL NOTES 119

本文介绍了《面向对象软件构造(第二版)》,内容分为六大部分,涵盖软件质量、面向对象概念、核心技术组件、方法学、进阶主题、不同语言和环境下的实现等,还涉及内存管理、继承、多态等知识,为读者提供面向对象方法的全面知识。

1101

被折叠的 条评论
为什么被折叠?



