新書推薦:
《
亚洲戏剧史·南亚卷
》
售價:HK$
147.2
《
中国历代竹器图谱与数字活化
》
售價:HK$
572.7
《
EDA技术与设计(第2版)
》
售價:HK$
87.3
《
揉碎浪漫(全两册)
》
售價:HK$
72.2
《
古籍善本
》
售價:HK$
552.0
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
89.7
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
147.2
《
清俗纪闻
》
售價:HK$
101.2
|
編輯推薦: |
1)面向对象基础
通过对面向对象相关的历史、发展、与面向过程的对比等相关背景知识的介绍,让读者对面向对象有一个更完整的认识;并深入的阐述了面向对象的各种概念,让读者知其然并知其所以然
2)面向对象方法
通过一个实例,完整的介绍面向对象相关技术如何在软件开发流程中落地,整个面向对象的开发流程一环扣一环,步步为营,让读者避免拍脑袋、头脑风暴式的开发方式
3)面向对象技巧
对内聚耦合、设计模式、设计原则、UML等*常见的面向对象技术进行了深入和别具一格的阐述,让读者不但知道What(是什么),还能知道Why(为什么)和How(如何用)
4)面向对象架构实战
通过在朋友圈增加踩、ZooKeeper的源码分析两个实战案例展示如何在实际开发项目中使用面向对象方法。
|
內容簡介: |
本书系统地讲述了面向对象技术的相关内容,包括面向对象的基本概念、面向对象开发的流程、面向对象的各种技巧,以及如何在实际开发项目中应用面向对象技术进行设计和开发。在讲述相关知识或技术的时候,除了从是什么这个角度进行介绍外,更加着重于从为什么和如何用这两个角度进行剖析,力争让读者做到知其然,并知其所以然,从而达到在实践中既能正确又能优秀地应用面向对象的相关技术和技巧。
|
關於作者: |
阿里前资深技术专家(P9),15年软件设计开发经验,曾就职于华为、UCWEB、阿里巴巴、蚂蚁金服,承担架构设计、架构重构、技术团队管理、技术培训等职责;专注于开源技术、系统分析、架构设计,对互联网技术的特点和发展趋势有较深入的研究和理解,先后负责过阿里游戏异地多活、飞鸽消息队列、交易平台解耦、蚂蚁国际澳门钱包等项目,对于高性能、高可用、业务架构、系统解耦等有丰富的经验,著有《面向对象葵花宝典:思想、技巧与实践》、《从零开始学架构》2本书籍,极客时间专栏《从0开始学架构》作者。
|
目錄:
|
目录
第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 常见问题解答
4.9 小结
第5章 领域模型
5.1 领域建模三字经
5.2 找名词
5.3 加属性
5.4 连关系
5.5 常见问题解答
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.1.1 5W分析
11.1.2 1H分析
11.1.3 8C分析
11.1.4 功能列表
11.2 领域模型
11.2.1 找名词
11.2.2 加属性
11.2.3 连关系
11.3 设计模型
11.3.1 系统设计
11.3.2 详细设计
11.4 代码模型
11.5 小结
第12章 实战案例:ZooKeeper源码分析
12.1 ZooKeeper介绍
12.2 需求模型
12.3 领域模型
12.4 设计模型
12.5 代码模型
12.6 小结
|
內容試閱:
|
前言
我最早接触面向对象这个词是在大学的C 语言这门选修课上,当时的教材分为两部分,前面一部分讲C语言编程,后面一部分讲C 的面向对象特性。当时觉得面向对象这个词很有意思,但对面向对象的理解和认识很粗浅,认为面向对象就是写class。
工作后,我开始真正地在业务开发中应用面向对象技术,最初也只是按照写class的方式去应用面向对象,但越来越发现不对劲儿,自己的疑惑也越来越多,例如:
? 为什么要这样写class,不能那样写class,反正最后都能完成功能啊?
? 为什么我说要设计这个class,你说要设计那个class,标准是什么?
? 客户需求都是由自然语言描述的,根本没有类和继承这些面向对象的概念,那这些设计又是如何得出的呢?是拍脑袋还是靠天才的创造,还是有章可循?
? 如何判断面向对象的设计做得好还是不好?
带着这些问题,我开始真正地去探索面向对象的世界,于是一头扎进去,发现了一个精彩且纷繁复杂的世界,各种各样的技术扑面而来,让人目不暇接:设计模式、SOLID设计原则、UML、Java、C 费了九牛二虎之力,好不容易把这些啃完了,我自信满满地以为掌握了面向对象的精髓,于是准备到业务开发中大展拳脚,实践后却发现自己只是掌握了一大堆的技术名词,例如封装继承工厂模式开闭原则,但还是知其然,不知其所以然,在实际开发过程中依然不能很好地应用这些技术。
除此之外,不管采用瀑布流程,还是敏捷流程,软件开发流程都可以简单地分为需求分析、系统设计、编码实现、测试部署这几个阶段。在这些不同的阶段,面向对象起什么作用呢?如何在不同的阶段应用面向对象技术呢?我曾经带着这些疑惑去问大牛,但没人能够清楚地回答;也曾翻阅各种面向对象书籍,但没有找到确切的答案。
虽然没有直接找到答案,但在思考和探索的过程中,我学到了更多的知识,掌握了更多的技能,接纳了更多的思想。随着我对面向对象思想和技术的理解逐渐加深,加上我在工作中不断地实践,很多问题我自己慢慢地竟然想通了,同时形成了一套完整的面向对象方法论。
在这个过程中,我有很多疑惑,甚至有很多痛苦,投入了大量精力,是对技术的热爱支撑着我一直探索下去,但我相信大部分程序员没有这么大的兴趣去探索,也没有那么多的时间可以投入,所以我写成这本书,让更多的程序员更好地掌握面向对象思想和技巧,享受程序人生,实现自己的梦想!
本书第一版于2015年出版,书名是《面向对象葵花宝典:思想、技巧与实战》,出版后收到很多读者的反馈,普遍反映书的内容很好(甚至有几所大学将本书作为教材),但是书名取得不太好,看过这本书的读者经常被调侃(调侃内容请参考东方不败),期望再版的时候能够改个高大上的书名;也有读者反馈期望增加更贴近目前移动互联网业务的案例,将全流程串起来,这样理解起来会更加有体感。此外,我的架构类书籍《从零开始学架构》也于2018年出版,系统地阐述了架构设计的相关知识和技能,因此之前有关面向对象架构设计的部分内容就显得有些单薄和多余了。
基于上述原因,我决定将内容进行修改和完善后重新出版,更好地满足读者的期望,调整后的内容主要分为如下4部分:
第1部分 面向对象基础
通过对面向对象相关的历史、发展,以及与面向过程的对比等相关背景知识的介绍,让读者对面向对象有一个更完整的认识;并深入地阐述面向对象的各种概念,让读者知其然,并知其所以然。
第2部分 面向对象方法
通过一个实例,完整地介绍面向对象相关技术如何在软件开发流程中落地,整个面向对象的开发流程一环扣一环,步步为营,让读者避免使用拍脑袋头脑风暴式的开发方式。
第3部分 面向对象技巧
对内聚耦合设计模式设计原则UML等最常见的面向对象技术进行深入和别具一格的阐述,让读者不但知道What(是什么),还能知道Why(为什么)和How(如何用)。
第4部分 面向对象实战
通过增加朋友圈踩和ZooKeeper的案例来说明面向对象方法在业务系统和算法系统中如何落地,让读者对具体开发项目中如何应用面向对象方法更加有体感。
由于面向对象相关的知识和技术纷繁复杂,在一本书里浓缩这么多的知识,对个人而言是一个很大的挑战,加上很多资料来自网络和英文文档,其中错误与疏漏在所难免,希望读者批评指正。
致谢
本书写作过程中参考了大量的网络资料,包括维基百科、百度百科等,向这些促进知识传播的网络平台致以诚挚的谢意。
在探索的过程中,我阅读了大量面向对象相关的书籍和文档,向这些促进面向对象技术发展的前辈致以诚挚的谢意。
特别感谢我曾就职的优视科技公司(UCWEB),良好的技术氛围,宽松的工作环境,不断发展和成长的业务,为本书的写作创造了良好的外部环境;特别感谢阿里巴巴、蚂蚁金服,复杂的业务、领先的技术实力,让我有机会不断地提升自己的水平,为本书的写作提供了很多灵感和素材。
衷心感谢父母和妻子,在本书写作过程中承担了更多的家庭琐事,给予我最大的支持。
参考内容
请登录www.broadview.com.cn39402,点击下载资源中的参考文献获取本书参考的内容链接。
李运华
|
|