你可能既了解各种各样的技术,例如,设计模式、SOLID设计原则、UML、Java、C++……也掌握了一大堆的技术名词,例如“封装”、“继承”、“工厂模式”、“开闭原则”,但还是“知其然,不知其所以然”,在实际开发过程中依然不能很好地应用它们。
不管采用“瀑布流程”,还是“敏捷”流程,软件开发流程都可以简单地分为需求分析、系统设计、编码实现、测试部署这几个阶段。在这些不同的阶段中,面向对象起什么作用呢?如何在这些不同的阶段中应用面向对象技术呢?
带着这些问题到李运华编著的这本《面向对象葵花宝典(思想技巧与实践)》中寻找答案吧。
李运华编著的这本《面向对象葵花宝典(思想技巧与实践)》系统地讲述了面向对象技术的相关内容,包括面向对象的基本概念、面向对象开发的流程、面向对象的各种技巧,以及如何应用面向对象思想进行架构设计。在讲述相关知识或技术的时候,除了从“是什么”这个角度进行介绍外,更加着重于从“为什么”和“如何用”这两个角度进行剖析,力争让读者做到“知其然,并知其所以然”,从而达到在实践中既能正确又能优秀地应用面向对象的相关技术和技巧。
本书的内容涵盖广泛,无论读者已有的水平如何,都能够从书中获益。
·如果你是刚入门的程序员,书中有详尽的和通俗易懂的概念和方法介绍,有完整的面向对象开发流程,让你能够快速掌握面向对象开发的基本技巧,从容不迫地完成开发任务;
·如果你有了一定经验,能够熟练应用各种面向对象技术和技巧,但却没有深入地去探索,书中有独辟蹊径的解读,能够让你“知其然,并知其所以然”;
·如果你已经成为了面向对象的大牛程序员,但苦于不能继续提升,书中有“面向对象架构设计”的点石成金术,让你从程序员秒变架构师。
第1部分 面向对象基础
第1章 面向对象概述
1.1 程序设计思想的发展
1.2 面向对象语言的发展历史
1.3 面向过程
1.4 面向对象
1.5 为什么要面向对象
1.6 面向对象的应用范围
1.7 面向对象的迷思
1.7.1 面向对象会导致性能降低?
1.7.2 面向对象语言=面向对象编程?
1.8 小结
第2章 面向对象理论
2.1 类
2.2 对象
2.3 接口
2.4 抽象类
2.5 抽象
2.6 三大核心特征
2.6.1 封装
2.6.2 继承
2.6.3 多态
2.7 小结
第2部分 面向对象实战
第3章 面向对象分析和设计全流程概述
第4章 需求模型
4.1 需求详解
4.2 需求的重要性
4.3 需求分析
4.3.1 需求分析的目的
4.3.2 需求分析的方法
4.4 用例方法
4.4.1 用例的具体写法
4.4.2 要画图吗
4.5 功能
4.6 用例图的陷阱
4.7 SSD
4.8 FAQ
4.9 小结
第5章 领域模型
5.1 领域建模三字经
5.2 找名词
5.3 加属性
5.4 连关系
5.5 FAQ
5.6 小结
第6章 设计模型
6.1 设计模型总览
6.2 类模型
6.2.1 第一步(照猫画虎):领域类映射
6.2.2 第二步(精雕细琢):应用设计原则和设计模式
6.2.3 第三步(照本宣科):拆分辅助类
6.3 动态模型
6.3.1 模型分类
6.3.2 建模实践
6.3.3 建模技巧
6.4 小结
第7章 实现模型
7.1 编程语言的差异性
7.2 C++
7.2.1 类
7.2.2 访问控制
7.2.3 继承
7.2.4 多态
7.2.5 抽象类
7.2.6 接口
7.3 Java
7.3.1 类
7.3.2 访问控制
7.3.3 继承
7.3.4 多态
7.3.5 抽象类
7.3.6 接口
7.4 小结
第3部分 面向对象技巧
第8章 设计原则
8.1 内聚
8.1.1 内聚究竟是什么
8.1.2 内聚的分类
8.2 耦合
8.2.1 耦合究竟是什么
8.2.2 耦合的分类
8.3 高内聚低耦合
8.4 类设计原则
8.4.1 SRP
8.4.2 OCP
8.4.3 LSP
8.4.4 ISP
8.4.5 DIP
8.4.6 如何应用设计原则
8.4.7 NOP
8.5 小结
第9章 设计模式
9.1 设计模式简介
9.2 设计模式只是一把锤子
9.3 设计模式之道
9.3.1 知易行难――设计模式应用的问题
9.3.2 拨云见日――寻找设计模式之道
9.3.3 庖丁解牛――解析设计模式之道
9.3.4 举一反三――活学活用设计模式之道
9.4 原则VS模式
9.5 模式详解
9.5.1 Prototype模式
9.5.2 Decorator模式
9.5.3 Facade模式
9.5.4 Observer模式
9.6 小结
第10章 UML
10.1 UML简介
10.2 UML只是语言
10.3 UML应用
10.4 需求分析阶段
10.4.1 用例图
10.4.2 用例图的关系
10.5 设计阶段
10.5.1 类图
10.5.2 类关系图
10.5.3 动态图
10.5.4 结构图
10.6 部署阶段
10.7 小结
第4部分 面向对象架构设计
第11章 面向对象架构设计基础
11.1 什么是架构
11.2 面向对象的架构设计
11.3 小结
第12章 面向对象架构设计流程
12.1 架构设计总体思想
12.2 业务架构
12.2.1 全新的业务系统
12.2.2 已有架构优化
12.2.3 业务架构实例:京西商城
12.3 领域架构
12.4 软件架构
12.4.1 第一步:照猫画虎
12.4.2 第二步:按图索骥
12.4.3 第三步:深思熟虑
12.5 小结
第13章 面向对象架构设计技巧
13.1 架构设计原则
13.1.1 客户需求优先原则
13.1.2 适当超前原则
13.2 架构设计屠龙刀
13.2.1 “拆”与“合”
13.2.2 “拆”的常见手段
13.2.3 “合”的常见手段
13.3 优秀架构师特质:创新
13.4 小结