当前位置:当前位置:主页 > 计算机电子书 > Java > Java pdf电子书
软件设计:Java语言实践

软件设计:Java语言实践 PDF 超清版

  • 更新:2020-09-15
  • 大小:78 MB
  • 类别:Java
  • 作者:马丁·P.罗毕拉德
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

软件设计:Java语言实践》是由机械工业出版社出版的一本关于Java方面的书籍,作者是马丁·P.罗毕拉德,主要介绍了关于软件设计、Java语言方面的知识内容,目前在Java类书籍综合评分为:8.3分。

书籍介绍

软件设计:Java语言实践》提供了关于软件设计深入的介绍,重点关注面向对象的设计,并使用Java编程语言。目的是通过发掘设计过程中的经验来帮助读者学习软件设计。使用这样一种叙述方式:在上下文中介绍设计知识的每一个元素,并探索不同的解决方案,同时辅以数百个代码片段和设计图。

目录

  • 第1章 绪论1
  • 1.1 定义软件设计3
  • 1.2 软件开发过程中的设计5
  • 1.3 获取设计知识6
  • 1.4 共享设计技术8
  • 1.4.1 设计模式8
  • 1.4.2 设计反模式10
  • 小结10
  • 延伸阅读11
  • 第2章 封装12
  • 2.1 封装与信息隐藏12
  • 2.2 将抽象编码为类型13
  • 2.3 作用域与可见性限制16
  • 2.4 对象图18
  • 2.5 逃逸引用20
  • 2.5.1 返回指向内部对象的引用21
  • 2.5.2 在内部存储外部引用22
  • 2.5.3 通过共享结构泄露引用22
  • 2.6 不可变性23
  • 2.7 提供内部数据25
  • 2.7.1 扩展接口25
  • 2.7.2 返回副本26
  • 2.7.3 高级机制27
  • 2.8 契约式设计27
  • 小结30
  • 代码探索30
  • 延伸阅读32
  • 第3章 类型与接口33
  • 3.1 行为与实现解耦合33
  • 3.2 指定接口的行为36
  • 3.3 类图38
  • 3.4 函数对象40
  • 3.5 迭代器43
  • 3.6 ITERATOR设计模式45
  • 3.7 STRATEGY设计模式46
  • 3.8 接口分离原则47
  • 小结50
  • 代码探索50
  • 延伸阅读52
  • 第4章 对象状态53
  • 4.1 软件系统的静态和动态视图53
  • 4.2 定义对象状态54
  • 4.3 状态图55
  • 4.4 设计对象生命周期57
  • 4.4.1 无效和无用的状态58
  • 4.4.2 不必要的状态信息58
  • 4.5 可空性59
  • 4.5.1 无须对不存在的值建模60
  • 4.5.2 对不存在的值建模61
  • 4.5.3 可选值类型62
  • 4.5.4 NULL OBJECT设计模式63
  • 4.6 终极域和变量64
  • 4.7 对象身份、相等和唯一66
  • 4.8 FLYWEIGHT设计模式68
  • 4.9 SINGLETON设计模式71
  • 4.10 嵌套类的对象72
  • 4.10.1 内部类72
  • 4.10.2 匿名类74
  • 小结75
  • 代码探索76
  • 延伸阅读77
  • 第5章 单元测试78
  • 5.1 单元测试简介78
  • 5.2 JUnit单元测试框架基础81
  • 5.3 测试代码的组织82
  • 5.4 元程序设计83
  • 5.4.1 内省84
  • 5.4.2 程序的操作86
  • 5.4.3 程序元数据87
  • 5.5 测试构建88
  • 5.6 测试和异常条件91
  • 5.7 封装与单元测试93
  • 5.8 桩测试95
  • 5.9 测试覆盖96
  • 5.9.1 语句覆盖98
  • 5.9.2 分支覆盖98
  • 5.9.3 路径覆盖99
  • 小结99
  • 代码探索100
  • 延伸阅读101
  • 第6章 复合102
  • 6.1 复合与聚合102
  • 6.2 COMPOSITE设计模式105
  • 6.3 时序图109
  • 6.4 DECORATOR设计模式112
  • 6.5 COMPOSITE与DECORATOR的结合116
  • 6.6 多态对象复制118
  • 6.6.1 声明实现Cloneable接口119
  • 6.6.2 重写Object.clone()方法120
  • 6.6.3 调用super.clone()120
  • 6.6.4 捕获CloneNotSupported-Exception121
  • 6.6.5 把clone()加入接口122
  • 6.7 PROTOTYPE设计模式123
  • 6.8 COMMAND设计模式124
  • 6.9 迪米特法则127
  • 小结128
  • 代码探索129
  • 延伸阅读131
  • 第7章 继承132
  • 7.1 继承的实例132
  • 7.2 继承和子类134
  • 7.2.1 向下类型转换135
  • 7.2.2 单根的类层次结构136
  • 7.3 继承域137
  • 7.4 继承方法139
  • 注解重写方法143
  • 7.5 重载方法143
  • 7.6 继承与复合145
  • 7.7 抽象类147
  • 7.8 重温DECORATOR设计模式149
  • 7.9 TEMPLATE METHOD设计模式 151
  • 7.9.1 终极方法与终极类152
  • 7.9.2 抽象方法153
  • 7.9.3 模式总结154
  • 7.10 正确使用继承155
  • 7.10.1 限制基类客户端的行为155
  • 7.10.2 不适合作子类型的子类158
  • 小结159
  • 代码探索159
  • 延伸阅读161
  • 第8章 控制流反转162
  • 8.1 使用控制流反转的动机162
  • 8.2 模型–视图–控制器分解164
  • 8.3 OBSERVER设计模式165
  • 8.3.1 模型和观察者的连接165
  • 8.3.2 模型和观察者间的控制流166
  • 8.3.3 模型和观察者间的数据流168
  • 8.3.4 事件驱动程序设计170
  • 8.3.5 小结172
  • 8.4 应用OBSERVER设计模式173
  • 8.5 图形用户界面开发导论177
  • 8.6 图形用户界面组件图178
  • 8.6.1 用户体验视角178
  • 8.6.2 逻辑视角179
  • 8.6.3 源代码视角179
  • 8.6.4 运行时视角181
  • 8.6.5  定义对象图181
  • 8.7 事件处理183
  • 8.8 VISITOR设计模式186
  • 8.8.1 具体和抽象访问者188
  • 8.8.2 在类层次结构中集成操作189
  • 8.8.3 遍历对象图191
  • 8.8.4 OBSERVER模式中使用继承194
  • 8.8.5 在访问者结构中支持数据流196
  • 小结197
  • 代码探索198
  • 延伸阅读200
  • 第9章 函数式设计201
  • 9.1 一等函数201
  • 9.2 函数式接口、lambda表达式和方法引用203
  • 9.2.1 函数式接口203
  • 9.2.2 lambda表达式204
  • 9.2.3 方法引用207
  • 9.3 使用函数复合行为208
  • 9.4 用函数作数据供给者212
  • 供给者函数与OBSERVER模式217
  • 9.5 一等函数和设计模式218
  • 9.5.1 函数式STRATEGY218
  • 9.5.2 函数式COMMAND220
  • 9.6 函数式数据处理221
  • 9.6.1 数据作为流222
  • 9.6.2 将高阶函数应用于流223
  • 9.6.3 过滤流224
  • 9.6.4 映射数据元素225
  • 9.6.5 规约流226
  • 小结228
  • 代码探索228
  • 延伸阅读230
  • 附录A Java程序设计语言的重要概念231
  • 附录B 代码规范237
  • 附录C 应用实例240
  • 参考文献242

资源获取

相关资源

网友留言