`
fangang
  • 浏览: 876836 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
311c4c32-b171-3767-b974-d26acf661fb2
谈谈用例模型的那些事儿
浏览量:38637
767c50c5-189c-3525-a93f-5884d146ee78
一次迭代式开发的研究
浏览量:68804
03a3e133-6080-3bc8-a960-9d915ed9eabc
我们应当怎样做需求分析
浏览量:409925
753f3c56-c831-3add-ba41-b3b70d6d913f
重构,是这样干的
浏览量:91489
社区版块
存档分类
最新评论

大话重构连载首页

阅读更多


《大话重构》这本书是我写的第一本书,从今天起我将通过连载的形式逐渐跟大家分享。
这本书让你:
告别游击队转变为正规军,
远离劣质代码走向精妙设计
真正明白专业级的软件开发是怎样的
真正明白重构是怎样一步一步进行的
高效重构七步曲,面对实践不卡壳
让遗留系统维护不再是你的梦魇
读完这本书以后:
需求变更不再纠结,重构让你润物细无声地容纳它们
超越代码级的重构,从各个层面深度领略重构之美
自动化测试不再是梦想,重构让自动化测试走你
重新审视熟悉而陌生的技术,将碎了一地的它们重新铆合在一起

本书的目录:
遗留系统——软件工业时代的痛
第一部分 基础篇
重构,一个既熟悉又陌生的名词。在这里,我首先给你诠释一个完全不同的重构,让你重新理解一个最熟悉的陌生技术:
第1章 重构:改变既有代码的一剂良药
1.1 什么是系统重构
1.2 在保险索上走钢丝
1.3 大布局与小步快跑
1.4 软件修改的四种动机
1.5 一个真实的谎言
第2章 重构方法工具箱
2.1 重构是一系列的等量变换——第一次HelloWorld重构
2.2 盘点我们的重构工具箱——对HelloWorld抽取类和接口
第3章 小步快跑的开发模式
3.1 大布局你伤不起
3.2 小设计而不是大布局
3.3 小步快跑是这样玩的——HelloWorld重构完成
第4章 保险索下的系统重构
4.1 你不能没有保险索
4.2 自动化测试——想说爱你不容易
4.3 我们是这样自动化测试的——JUnit下的HelloWorldTest
4.4 采用Mock技术完成测试
第二部分 实践篇
当你充满激情地准备实践重构时,却发现自己在迈出第一步就卡壳了,有木有?高效可行的重构七步,让你面对实践不卡壳:
第5章 第一步:从分解大函数开始
5.1 超级大函数——软件退化的重灾区
5.2 抽取方法的实践
5.3 最常见的问题
第6章 第二步:拆分大对象
6.1 大对象的演化过程
6.2 大对象的拆分过程——抽取类与职责驱动设计 49
6.3 SRP原则与对象拆分 50
6.4 合久必分,分久必合——类的归并 52
第7章 第三步:提高代码复用率 54
7.1 顺序编程的烦恼 54
7.2 代码重复与DRY原则 55
7.3 提高代码复用的方法 56
7.3.1 当重复代码存在于同一对象中时——抽取方法
7.3.2 当重复代码存在于不同对象中时——抽取类
7.3.3 不同对象中复用代码的另一种方法——封装成实体类
7.3.4 当代码所在的类具有某种并列关系时——抽取父类
7.3.5 当出现继承泛滥时——将继承转换为组合
7.3.6 当重复代码被割裂成碎片时——继承结合模板模式
7.4 代码重复的检查工具 64
第8章 第四步:发现程序可扩展点 64
8.1 开放-封闭原则(OCP)与可扩展点设计 65
8.2 过程的扩展与放置钩子——运用模板模式增加可扩展点 68
8.3 面向切面的可扩展设计 71
8.4 其它可扩展设计 74
第9章 第五步:降低程序依赖度 78
9.1 接口、实现与工厂模式 79
9.1.1 彻底理解工厂模式和依赖反转原则
9.1.2 工厂模式在重构中的实际运用
9.2 外部接口与适配器模式——与外部系统解耦 84
9.3 继承的泛滥与桥接模式 87
9.4 方法的解耦与策略模式 90
9.5 过程的解耦与命令模式 93
9.6 透明的功能扩展与设计——组合模式与装饰者模式 95
第10章 第六步:我们开始分层了 102
10.1 什么才是我们需要的分层 102
10.2 怎样才能拥抱需求的变化 104
10.3 贫血模型与充血模型 108
10.4 我们怎样面对技术的变革 111
第11章 一次完整的重构过程 113
11.1 第一步:分解大函数 113
11.2 第二步:拆分大对象 115
11.3 第三步:提高复用率 116
11.4 第四步:发现扩展点 117
11.5 第五步:降低依赖度 119
11.6 第六步:分层 120
11.7 第七步:领域驱动设计 121
第三部分 进阶篇 123
我已经是一个重构的实践者了,但重构真的让我想说爱你不容易,太多太多的难题让我困惑让我烦恼。这里,让一个重构多年的实践者给你解惑吧:
第12章 什么时候重构 123
12.1 重构是一种习惯 123
12.2 重构让程序可读 125
12.3 重构,才好复用 126
12.4 先重构,再扩展 127
12.5 变更任务紧急时,又该如何重构 129
第13章 测试驱动开发 131
13.1 测试驱动开发(TDD) vs. 后测试开发(TAD) 131
13.2 测试驱动开发与重构 134
13.3 遗留系统怎样开展TDD 142
第14章 全面的升级任务 144
14.1 计划式设计VS演进式设计 144
14.2 风险驱动设计 146
14.3 制定系统重构计划 148
第15章 我们怎样拥抱变化 149
15.1 领域才是软件系统的“心”——工资软件的三次设计演变 149
15.2 领域模型分析方法 155
15.3 原文分析法 157
15.4 领域驱动设计——使用领域模型与客户一起设计 160
15.5 在遗留系统中的应用 164
第16章 测试的困境 166
16.1 重构初期的困局 167
16.2 解耦与自动化测试 168
16.3 谁来写自动化测试程序? 171
16.4 建立自动化测试体系 174
第17章 系统重构的评价 175
17.1 评价软件质量的指标 175
17.2 怎样评价软件质量呢 178
结束语:重构改变了世界 181
附录:重构方法速查手册 182
  • 大小: 20.3 KB
分享到:
评论
9 楼 liuwaner118 2015-06-18  
刚开始工作,公司项目对这一部分要求挺高的,刚好可以好好看看。
8 楼 fangang 2014-11-04  
正在筹划这本书的前传,书名没想好,但内容是讲如何编写高质量的程序,以及如何改善现有代码。
7 楼 fangang 2014-11-04  
wgs7909 写道
支持楼主出书,楼主辛苦了,什么时候出书,我一定卖,卖一本带楼主签名的。

你可以在京东、淘宝、亚马逊、当当等网站上搜《大话重构》这个书名。
签名嘛,你可以私信我,把书寄给我,然后题词+签名给你寄回去。
6 楼 wgs7909 2014-11-03  
支持楼主出书,楼主辛苦了,什么时候出书,我一定卖,卖一本带楼主签名的。
5 楼 fangang 2014-08-26  
抱歉最近忙了点儿,这周多发几篇哈,一天一篇,
4 楼 m33707 2014-08-19  
等待第四章,等待第四章,等待第四章,等待第四章。。。
3 楼 waitgod 2014-08-13  
这个必须顶起,好久没看到这么接地气的重构文章了
2 楼 airball 2014-08-12  
楼主加油,顶你。
1 楼 成之六 2014-08-09  
受益匪浅!

相关推荐

    大话3WDF解包器(也可解大话2的)

    《大话3WDF解包器:深入解析与应用》 在计算机游戏中,资源的管理与存储是一项重要的技术,尤其对于大型多人在线游戏(MMORPG)如“大话西游”系列来说,如何高效地组织和加载游戏资源是至关重要的。本文将详细探讨...

    大话西游鼠标指针

    "大话西游鼠标指针"是一款以经典电影《大话西游》为主题设计的鼠标指针主题包,为用户提供了一种个性化的电脑体验。下面将详细介绍这一主题包的相关知识点。 首先,我们要了解鼠标指针主题。在Windows操作系统中,...

    大话素材目录.zip

    《大话西游2》是一款深受玩家喜爱的网络游戏,其背后有着复杂的系统和丰富的资源管理。在这款游戏中,素材的管理是至关重要的,这直接影响到游戏的视觉效果、音效体验以及整体的游戏性能。"大话素材目录.zip" 是一个...

    大话西游素材查看工具

    《大话西游素材查看工具详解与应用》 在游戏开发和设计领域,素材管理是一项至关重要的工作。尤其是在中国的网络游戏领域,"大话西游"作为一款深受玩家喜爱的经典游戏,其背后的素材制作与管理自然也备受关注。本文...

    大话map tool V1.4

    大话地图提取

    大话2.0.78版LUA脚本引擎

    针对游戏:大话西游2.0.78版本 软件功能:此版本的lua4脚本引擎 注意如果要编译大话西游2.0.78版,需要相应的将src\lopcodes-78.h 改名 lopcodes.h。 版权属于Copyright (C) 1994-2000 TeCGraf, PUC-Rio. All ...

    大话设计模式总结.pdf

    大话设计模式总结.pdf大话设计模式总结.pdf大话设计模式总结.pdf大话设计模式总结.pdf大话设计模式总结.pdf

    java版大话西游源码

    《Java版大话西游源码》是一款基于Java编程语言开发的角色扮演游戏(RPG)教程,对于初学者和想要深入理解游戏开发的程序员来说,它提供了丰富的学习资源。这款教程涵盖了多线程技术和自动寻路算法等核心概念,是...

    大话云计算【高清】

    大话云计算【高清】

    大话核心网.mobi

    大话核心网.mobi

    大话存储终极版——扫描件

    《大话存储终极版》是IT领域内一本深受读者喜爱的存储技术图书,作者冬瓜哥(张冬)以其通俗易懂的语言,深入浅出地介绍了存储领域的诸多知识。这本书对于初学者来说是一份非常宝贵的资源,可以帮助他们快速入门并...

    大话数据结构 .pptx

    大话数据结构 .pptx

    大话企业级Android开发

    01大话企业级Android开发第一篇 02大话企业级Android开发 03大话企业级Android开发开发流程及项目管理 04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析 05大话企业级Android开发_MVC讲解及...

    大话5G.pdf

    《大话5G》是一本针对通信从业人员编写的书籍,旨在通过浅显易懂的语言阐述5G通信的复杂原理。作者通过结合自己的通信网技术积累和科普写作经验,成功地将深奥的技术知识普及化。书中不仅介绍了5G的业务场景和技术...

    大话移动通信.pdf

    《大话移动通信》是一本全面介绍移动通信的通俗图书,涵盖了从通信基本理论到GSM、WCDMA、TD-SCDMA、cdma2000、LTE、LTE-Advanced等各种通信制式的相关知识。

    新大话西游经典系列源代码

    《新大话西游经典系列源代码》是一个与游戏开发密切相关的资源集合,它涵盖了多媒体技术、控件、源码等多个重要领域。源代码是软件开发的核心,它揭示了游戏背后的逻辑和实现方式,对于学习游戏开发或者进行二次开发...

    大话2和梦幻资源提取工具

    《大话2与梦幻资源提取工具详解》 在游戏开发和玩家自创内容的世界里,对游戏资源的访问和编辑是提升游戏体验、创新个性化内容的关键。本文将深入探讨“大话2和梦幻资源提取工具”,它是一款专为这两款热门游戏设计...

    wdF大话西游资源提取工具

    提取大话美术资源的程序,可以提取、打包、查看、

    大话随风服务端修改工具2个.rar

    《大话随风服务端修改工具详解》 在IT行业中,网络游戏服务端的修改是一项技术性强且需求广泛的任务。特别是对于“大话随风”这样的游戏,服务端的调整直接影响到游戏的平衡性和玩家体验。本文将围绕"大话随风...

    大话传送网.pdf,通信入门

    《大话传送网》是一本非常适合通信入门者的书籍,它以通俗易懂的语言阐述了复杂的通信网络原理。这本书籍深入浅出地介绍了通信的基础知识,包括传输网的概念、构成、工作原理以及在现代社会中的重要应用。 传输网是...

Global site tag (gtag.js) - Google Analytics