![]()
内容推荐 本书以图配文的形式,直观易懂地介绍了面向对象的全貌及其包含的各项技术,包括面向对象编程、框架、设计模式、UML、建模、面向对象设计和敏捷开发方法等。对于各项技术是如何使用的(How),书中只进行简要的说明,而重点介绍这些技术是什么(What),以及为什么需要这些技术(Why)。另外,“编程往事”专栏介绍了作者年轻时的一些经历;“对象的另一面”专栏以与正文不同的视角讲解面向对象这一概念普及的背景和原因,通俗有趣;“当今的OOP”专栏介绍了Java、Python、Ruby、JavaScript等当今流行的编程语言的最新动向。 本书适合各层次软件开发人员阅读,也可作为计算机专业学生的参考读物。 作者简介 侯振龙,管理科学与工程专业硕士,日语一级,软件开发工程师,具有十年对日软件开发经验,现就职于某日本独资企业。 目录 第1章 面向对象:让软件开发变轻松的技术 1.1 面向对象是软件开发的综合技术 1.2 以对象为中心编写软件的开发方法 1.3 从编程语言演化为综合技术 1.4 面向对象难的原因 1.5 原因之一:OOP结构复杂 1.6 原因之二:滥用比喻引起混乱 1.7 原因之三:面向对象的概念是抽象的 1.8 重点讲解“是什么”和“为什么” 1.9 本书的构成 专栏 当的OOP 易上手、有深度的Python 第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 没有解决全局变量问题和可重用性差的问题 专栏 编程往事 COBOL编译器的“鸡和蛋”问题 第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的生死 专栏 当今的OOP 从网页工具进化而来的PHP 第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 孤立的实例由垃圾回收处理 专栏 编程往事 OOP中dump看起来很费劲? 第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 通过类库和模式发现的重用的好处 专栏 当今的OOP 因Rails框架而走红的Ruby 第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 通过业务分析、需求定 |