第1章 面向对象软件开发 1
本章概述 1
1.1 软件开发面临的挑战 1
1.2 工程的观点 3
1.3 面向对象的原则 7
1.4 迭代开发过程 8
第2章 使用UML的面向对象建模 14
本章概述 14
2.1 原理和概念 14
2.2 对关系和结构建模 21
2.3 动态行为建模 25
2.4 使用用例建立需求模型 29
2.5 案例分析:一家电子书店 31
第3章 Java简介 39
本章概述 39
3.1 Java 2平台的历史回顾 39
3.2 Java运行时构架 41
3.3 从Java开始 46
第4章 Java元素 54
本章概述 54
4.1 词法部分 55
4.2 变量和类型 62
4.3 语句 67
4.4 类声明 73
4.5 包 101
4.6 异常 105
4.7 一个简单的动画applet 111
第5章 类和继承 119
本章概述 119
5.1 方法和构造函数的重载 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章 面向对象应用程序框架 236
本章概述 236
8.1 应用程序框架 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:重构 325
9.5 迭代4:添加形状和工具 334
9.6 迭代5:更多的绘图工具 348
9.7 迭代6:文本工具 352
第10章 更多的设计模式 362
本章概述 362
10.1 类型安全的枚举类型 362
10.2 创建型设计模式 366
10.3 行为型模式 398
10.4 结构模式 403
第11章 并发编程 432
本章概览 432
11.1 线程 432
11.2 线程安全和活跃度 439
11.3 设计案例分析——tic-tac-toe游戏 451
第12章 分布式计算 464
本章概览 464
12.1 基于套接字的通信 464
12.2 远程方法调用 487
12.3 Java数据库连接 499
12.4 公共对象请求代理构架 508