软件设计:Java语言实践

软件设计:Java语言实践

  • 大小:78 MB
  • 类型:Java
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:马丁·P.罗毕拉德
  • 更新:2020-09-15 11:01:56
vip 免费获取(已有101人参与)
关注公众号免费送书
版权投诉 / 资源反馈(本资源由用户 郜俊人 投稿)

《 软件设计: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

相关资源

  • 《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》源代码

    《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》源代码

    Hadoop技术内幕共两册,分别从源代码的角度对Common+HDFS和MapReduce的架构设计和实现原理进行了极为详细的分析。本书由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨在为Hadoop的优化、定制和扩展提供原理性的指导。除此之外,本书还从源代码实现中对分布式技术的精髓、分布式系统设计的优秀思想和方法,以及Java语言的编码技巧、编程规范和对设计模式的精妙运用进行了总结和分析,对提高读者的分布式技术

    大小:6.6 MBHadoop配套资源

  • labuladong的刷题笔记(力扣版)

    这本《刷题笔记》的目录结构和《算法秘籍》完全相同,不同点在于本书是按照题目进行分类,每道题目只给出简明扼要的思路提示和参考答案。你可以把《算法秘籍》理解成教材,《刷题笔记》理解成一本练习册。 如果看了题目不能迅速想到解题思路,或者看了思路写不出代码,那就说明这块知识点掌握的不太好,需要重新复习巩固。

    大小:15.8 MBlabuladong

  • 《电脑办公实战从入门到精通(超值版)》电子资源

    《电脑办公实战从入门到精通(超值版)》电子资源

    编辑推荐 《电脑办公实战从入门到精通(超值版)》附赠的DVD多媒体教学光盘中,包含了16小时与图书内容同步的视频教学录像及所有案例的配套素材和结果文件。此外,还赠送了大量相关学习内容的教学录像、Word常用文书模板、Excel实用表格模板及扩展学习电子书等。为了满足读者在手机和平板电脑上学习的需要,光盘中还赠送了《电脑办公实战从入门到精通(超值版)》教学录像的手机版视频学习文件。不仅适合电脑办公的初、中级读者学习使用,也可以

    大小:4.1 GB电脑办公配套资源

  • 《电工电子技术基础》课件

    内容介绍 本书是一本电工电子技术基础理论与实践一体化的教材,全书分3篇共20个模块,电工篇主要介绍电工技术的基本理论及其实际应用以及电工安全防护等相关知识,电子篇主要介绍模拟电子技术的基础知识及其实际应用,数字篇主要介绍数字电路的基础知识及其典型应用。全书每个模块后均安排了教师演示环节,便于教师根据教学实际进行实践性教学。本书图文并茂、通俗易懂、直观明了。 本书适合作为中等职业学校和技工学校机电类相关专业

    大小:44.65 MB电工电子技术配套资源

  • 数学分析(第3版/上册)

    数学分析(第3版/上册) 课后答案

    《数学分析》是在1983年出版的第二版的基础上作全面修订。修订的重点是概念的叙述和定理的论证,以及某些章节内部结构的调整,同时,所有章节在文字上都重新梳理了一遍。 《数学分析》分上下两册,上册内容为极限初论、极限续论、单变量微分学、单变量积分学;下册内容为数项级数和反常积分、函数项级数多元函数的极限与连续、多变量微分学、多变量积分学。 《数学分析》可作为一般院校数学类专业的教材,也可作为工科院校以及经济管理

    大小:784 KB数学分析课后答案

  • 《手把手教你设计CPU—RISC-V处理器篇》配套代码

    《手把手教你设计CPU—RISC-V处理器篇》配套代码

    编辑推荐 系统介绍RISC-V指令集架构。结合实际RISC-V开源实例进行教学。深入剖析RISC-V处理器的微架构以及代码实现。使读者能够快速掌握并轻松使用RISC-V架构处理器。通过学习实例蜂鸟E200的Verilog代码,您将能成为一名合格的数字IC设计工程师。通过学习本书推荐的完整开源SoC平台,您也可以快速搭建FPGA原型平台,运行完整的软件实例。 内容简介 本书是一本介绍通用CPU设计的入门书,以通俗的语言系统介绍了CPU和RISC-V架构,力求为读者揭开CPU设计的神

    大小:21.73 MB处理器配套资源

  • C++程序设计教程(第2版)

    C++程序设计教程(第2版) 课后答案

    本书是主教材《C++程序设计教程(第二版)》的配套书。由于第二版主教材对第一版做了根本性的改动,使得本书也与第一版的《C++程序设计教程习题及解答》大相径庭。本书从习题练习出发,引导读者从机器运行的角度来思考问题,以编写出能够实战的程序代码。本书也是作者《C++程序设计教程(第二版)实验指导》一书的对照和补充。 全书突出C++编程能力培养,全局把握抽象编程观,潜窥语言和系统的内在特性,力图与同类书相区别。书中还介绍了

    大小:7.96 MBC++课后答案

  • 计算机组成与体系结构(第3版)

    计算机组成与体系结构(第3版) 课后答案

    大小:8.06 MB计算机组成结构课后答案

参与送书

相关声明:

学习笔记