4.0 用户推荐指数
科技
类型
7.0
豆瓣评分
可以朗读
语音朗读
127千字
字数
2022-09-01
发行日期
展开全部
主编推荐语
本书直观易懂地介绍了面向对象的全貌及其包含的各项技术。
内容简介
全书内容包括面向对象编程、框架、设计模式、UML、建模、面向对象设计和敏捷开发方法等。对于各项技术是如何使用的(How),书中只进行简要的说明,而重点介绍这些技术是什么(What),以及为什么需要这些技术(Why)。
另外,“编程往事”专栏介绍了作者年轻时的一些经历;“对象的另一面”专栏以与正文不同的视角讲解面向对象这一概念普及的背景和原因,通俗有趣;“当今的OOP”专栏介绍了Java、Python、Ruby、JavaScript等当今流行的编程语言的最新动向。
目录
- 版权信息
- 推荐序1
- 推荐序2
- 前言
- 本书的结构
- 各章的结构
- 第1章 面向对象:让软件开发变轻松的技术
- 1.1 面向对象是软件开发的综合技术
- 1.2 以对象为中心编写软件的开发方法
- 1.3 从编程语言演化为综合技术
- 1.4 面向对象难的原因
- 1.5 原因之一:OOP结构复杂
- 1.6 原因之二:滥用比喻引起混乱
- 1.7 原因之三:面向对象的概念是抽象的
- 1.8 重点讲解“是什么”和“为什么”
- 1.9 本书的构成
- 第2章 似是而非:面向对象与现实世界
- 2.1 对照现实世界介绍面向对象
- 2.2 类指类型,实例指具体的物
- 2.3 多态让消息的发送方法变得通用
- 2.4 继承对共同点和不同点进行系统的分类和整理
- 2.5 使用比喻进行讲解容易造成混乱
- 2.6 面向对象和现实世界是似是而非的
- 2.7 明确定义为编程结构
- 2.8 软件并不会直接表示现实世界
- 2.9 与现实世界的相似增大了可能性
- 第3章 理解OOP:编程语言的历史
- 3.1 OOP的出现具有必然性
- 3.2 最初使用机器语言编写程序
- 3.3 编程语言的第一步是汇编语言
- 3.4 高级语言使程序更加接近人类语言
- 3.5 重视易懂性的结构化编程
- 3.6 提高子程序的独立性,强化可维护性
- 3.7 实现无GOTO编程的结构化语言
- 3.8 进化方向演变为重视可维护性和可重用性
- 3.9 没有解决全局变量问题和可重用性差的问题
- 深入学习的参考书
- 第4章 面向对象编程技术:去除冗余、进行整理
- 4.1 OOP具有结构化语言所没有的三种结构
- 4.2 OOP的结构会根据编程语言的不同而略有差异
- 4.3 三大要素之一:具有三种功能的类
- 4.4 类的功能之一:汇总
- 4.5 类的功能之二:隐藏
- 4.6 类的功能之三:创建很多个
- 4.7 实例变量是限定访问范围的全局变量
- 4.8 三大要素之二:实现调用端公用化的多态
- 4.9 三大要素之三:去除类的重复定义的继承
- 4.10 对三大要素的总结
- 4.11 通过嵌入类型使程序员的工作变轻松
- 4.12 将类作为类型使用
- 4.13 编程语言“退化”了吗
- 4.14 更先进的OOP结构
- 4.15 进化的OOP结构之一:包
- 4.16 进化的OOP结构之二:异常
- 4.17 进化的OOP结构之三:垃圾回收
- 4.18 对进化的OOP结构的总结
- 4.19 决心决定OOP的生死
- 第5章 理解内存结构:程序员的基本素养
- 5.1 理解OOP程序的运行机制
- 5.2 两种运行方式:编译器与解释器
- 5.3 解释、运行中间代码的虚拟机
- 5.4 CPU同时运行多个线程
- 5.5 使用静态区、堆区和栈区进行管理
- 5.6 OOP的特征在于内存的用法
- 5.7 每个类只加载一个类信息
- 5.8 每次创建实例都会使用堆区
- 5.9 在变量中存储实例的指针
- 5.10 复制存储实例的变量时要多加注意
- 5.11 多态让不同的类看起来一样
- 5.12 根据继承的信息类型的不同,内存配置也不同
- 5.13 孤立的实例由垃圾回收处理
- 深入学习的参考书
- 第6章 重用:OOP带来的软件重用和思想重用
- 6.1 OOP的优秀结构能够促进重用
- 6.2 类库是OOP的软件构件群
- 6.3 标准类库是语言规范的一部分
- 6.4 将Object类作为祖先类的继承结构
- 6.5 框架存在各种含义
- 6.6 框架是应用程序的半成品
- 6.7 世界上可重用的软件构件群
- 6.8 独立性较高的构件:组件
- 6.9 设计模式是优秀的设计思想集
- 6.10 设计模式是类库探险的路标
- 6.11 扩展到各个领域的思想的重用
- 6.12 通过类库和模式发现的重用的好处
- 深入学习的参考书
- 第7章 化为通用的归纳整理法的面向对象
- 7.1 软件不会直接表示现实世界
- 7.2 应用于集合论和职责分配
- 7.3 在上游工程中化为通用的归纳整理法
- 7.4 两种含义引起混乱
- 7.5 分为编程技术和归纳整理法进行思考
- 7.6 为何化为了通用的归纳整理法
- 第8章 UML:查看无形软件的工具
- 8.1 UML是表示软件功能和结构的图形的绘制方法
- 8.2 UML有13种图形
- 8.3 UML的使用方法大致分为三种
- 8.4 UML的使用方法之一:表示程序结构和动作
- 8.5 类图表示OOP程序的结构
- 8.6 使用时序图和通信图表示动作
- 8.7 UML的使用方法之二:表示归纳整理法的成果
- 8.8 使用类图表示根据集合论进行整理的结果
- 8.9 表示职责分配的时序图和通信图
- 8.10 UML的使用方法之三:表示非面向对象的信息
- 8.11 使用用例图表示交给计算机的工作
- 8.12 使用活动图表示工作流程
- 8.13 使用状态机图表示状态的变化
- 8.14 弥补自然语言和计算机语言缺点的“语言”
- 深入学习的参考书
- 第9章 建模:填补现实世界和软件之间的沟壑
- 9.1 现实世界和软件之间存在沟壑
- 9.2 计算机擅长固定工作和记忆工作
- 9.3 通过业务分析、需求定义和设计来填补沟壑
- 9.4 建模是顺利推进这三个阶段的工作的技术
- 9.5 应用程序不同,建模的内容也不一样
- 9.6 业务应用程序记录现实中的事情
- 9.7 对图书馆的借阅业务进行建模
- 9.8 使用用例图来表示图书馆业务
- 9.9 用概念模型表示图书馆系统的信息
- 9.10 在业务应用程序中,数据结构反映现实世界
- 9.11 嵌入式软件替代现实世界的工作
- 9.12 嵌入式软件中设备的研究开发很重要
- 9.13 使用状态机图表示全自动工作的情形
- 9.14 嵌入式软件一直执行单调的工作
- 9.15 建模蕴含着软件开发的乐趣
- 深入学习的参考书
- 第10章 面向对象设计:拟人化和职责分配
- 10.1 设计的目标范围很广
- 10.2 相比运行效率,现在更重视可维护性和可重用性
- 10.3 设计目标之一:去除重复
- 10.4 设计目标之二:提高构件的独立性
- 10.5 提高构件独立性的诀窍
- 10.6 设计目标之三:避免依赖关系发生循环
- 10.7 面向对象设计的“感觉”是拟人化和职责分配
- 10.8 进行了职责分配的软件创建的奇妙世界
- 深入学习的参考书
- 第11章 衍生:敏捷开发
- 11.1 仅靠技术和技术窍门,软件开发并不会成功
- 11.2 系统地汇总了作业步骤和成果的开发流程
- 11.3 限制修改的瀑布式开发流程
- 11.4 瀑布式开发流程的极限
- 11.5 灵活响应变化的迭代式开发流程
- 11.6 打破诸多限制的XP
- 11.7 确定团队工作推进方式的框架的Scrum
- 11.8 快速编写优秀软件的敏捷宣言
- 11.9 支持敏捷开发的实践
- 11.10 先编写测试代码,一边运行一边开发的测试驱动开发
- 11.11 在程序完成后改善运行代码的重构
- 11.12 经常进行系统整合的持续集成
- 11.13 实践敏捷宣言理念的方法
- 11.14 敏捷开发源于面向对象
- 11.15 不存在最好的开发流程
- 深入学习的参考书
- 第12章 熟练掌握面向对象
- 12.1 面向对象这一强大概念是原动力
- 12.2 时代追上了面向对象
- 12.3 面向对象的热潮不会结束
- 12.4 将面向对象作为工具熟练掌握
- 12.5 享受需要动脑的软件开发
- 深入学习的参考书
- 附章 函数式语言是怎样工作的
- A.1 面向对象编程语言和函数式语言混合占据主流的时代
- A.2 函数式语言的7个特征
- A.3 特征1:使用函数编写程序
- A.4 特征2:所有表达式都返回值
- A.5 特征3:将函数作为值进行处理
- A.6 特征4:可以灵活组合函数和参数
- A.7 特征5:没有副作用
- A.8 特征6:使用模式匹配和递归来编写循环处理
- A.9 特征7:编译器自动进行类型推断
- A.10 对7个特征的总结
- A.11 函数式语言的分类
- A.12 函数式语言的优势
- A.13 函数式语言的课题
- A.14 函数式语言和面向对象的关系
- A.15 掌握函数式编程
- 深入学习的参考书
- 后记
- 致谢
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。