第1章 面向对象软件开发 1
本章概述 1
1.1 软件开发面临的挑战 1
目录 1
1.2 工程的观点 3
1.3 面向对象的原则 7
1.4 迭代开发过程 8
本章概述 14
2.1 原理和概念 14
第2章 使用UML的面向对象建模 14
2.2 对关系和结构建模 21
2.3 动态行为建模 25
2.4 使用用例建立需求模型 29
案例分析:一家电子书店 31
第3章 Java简介 39
本章概述 39
3.1 Java 2平台的历史回顾 39
3.2 Java运行时构架 41
3.3 从Java开始 46
本章概述 54
第4章 Java元素 54
4.1 词法部分 55
4.2 变量和类型 62
4.3 语句 67
4.4 类声明 73
4.5 包 101
4.6 异常 105
4.7 一个简单的动画applet 111
本章概述 119
5.1 方法和构造函数的重载 119
第5章 类和继承 119
5.2 扩展类 122
5.3 扩展和实现接口 133
5.4 属性和类方法隐藏 140
5.5 应用——动画applet 141
5.6 常见问题和解决方案 154
第6章 从建立模块到建立项目 157
本章概述 157
6.1 类的设计和实现 157
6.2 契约和不变式 164
6.3 类的规范形式 172
6.4 单元测试 179
6.5 项目建立 186
第7章 使用抽象进行设计 190
本章概述 190
7.1 设计模式 190
7.2 设计通用的组件 192
7.3 抽象耦合 211
7.4 设计案例分析——排序算法的动画 218
8.1 应用程序框架 236
本章概述 236
第8章 面向对象应用程序框架 236
8.2 收集框架 238
8.3 图形用户界面框架——AWT和Swing 255
8.4 输入/输出框架 281
第9章 设计案例分析:一个绘图板应用程序 305
本章概述 305
9.1 计划 305
9.2 迭代1:一个简单的涂写板 305
9.3 代2:菜单、选项和文件 309
9.4 迭代3:重构 324
9.5 迭代4:添加形状和工具 333
9.6 迭代5:更多的绘图工具 347
9.7 迭代6:文本工具 351
第10章 更多的设计模式 360
本章概述 360
10.1 类型安全的枚举类型 360
10.2 创建型设计模式 364
10.3 行为型模式 396
10.4 结构模式 401
11.1 线程 430
本章概览 430
第11章 并发编程 430
11.2 线程安全和活跃度 437
11.3 设计案例分析——tic-tac-toe游戏 449
第12章 分布式计算 462
本章概览 462
12.1 基于套接字的通信 462
12.2 程方法调用 485
12.3 Java数据库连接 497
12.4 公共对象请求代理构架 506
词汇表 509