`
zhi_hui
  • 浏览: 434 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

读《大话重构》收获

阅读更多

软件在完成开发后,由于对缺陷的修改,以及新功能的添加,对代码的改动可能较大,同时软件的质量和软件的维护性也越来越低,在软件开发者的角度看软件的功能、逻辑更加复杂了,代码的可读性和可维护性降低了。

在《大话重构》这本书里面作者提到使用系统重构的方法来解决这一类问题,主要的思路是以单元测试为保障;逐步抽离小的功能(小步快跑的思想),分离大方法、大对象,在分离成各个功能块的时候有很多相似的地方,就对这些相似的功能进行合并,实现代码的复用;考虑一下程序可扩展的地方,为以后添加新功能做准备;用设计模式的理念来实现程序的解耦;最后对程序分层,使结构清晰,逻辑明了。整个重构以领域驱动设计为主导,以真实业务来指导整个重构的过程。

整个重构的过程作者分为以下七个步骤:

第一步:分解大函数

抽取方法

第二步:拆分大对象

抽取类,职责驱动设计

单一职责原则(SRP)与对象拆分

合久不分,分久必合——类的合并

第三步:提高代码复用

代码复用和DRY原则

重复代码在同一对象中——抽取方法

重复代码在不同对象中——抽取类

不同对象中的重复代码——封装为实体类

当代码所在的类具有某种并列关系式——抽取父类

当继承泛滥时——将继承转为组合

重复代码是一些零散的碎片时——继承结合模板模式

第四步:发现可扩展点

开发-封闭原则

面向切面的扩展设计

第五步:降低程序的依赖

使用很多设计模式

第六步:开始分层

第七部:领域驱动设计

领域驱动设计(Domain Driven Design)是一种软件开发方法,目的是让软件系统在实现时准确的基于对真实业务过程的建模并根据真实业务过程的调整而调整。

最后的结果是:使程序易读;保证维护容易;保证需求变更轻易进行,而不是大改——要做到,需要系统重构,持续不断对内部质量进行优化改进

<!--EndFragment--><!--EndFragment-->
分享到:
评论

相关推荐

    重构.pdf_电子版_pdf版

    在现代软件开发领域,重构是一种常见的技术手段,旨在优化软件设计,提升代码质量。本文档《重构.pdf_电子版_pdf版》深入剖析了重构的定义、必要性,以及在实际项目中的应用,特别通过一个影片出租店应用程序的案例...

    《大话西方艺术史》读书笔记个人收获五篇.docx

    读过此书,我们可以体会到,艺术并不局限于专业人士的领域,每个人都可以学习欣赏和理解艺术。正如书中提到的,艺术需要感受,但感受艺术也需要一定的知识基础,通过阅读这样的书籍,我们可以逐渐建立起自己的艺术...

    读书笔记 |《大话移动通信》

    读书笔记 |《大话移动通信》 读书笔记 |《大话移动通信》书籍信息书名:《大话移动通信》作者:丁奇 阳桢出版社:人民邮电出版社本书解决的问题初识移动通信构建移动通信学习基本脉络框架书籍内容结构第一章:点对点...

    通信原理《大话移动通信》读后感想.rar

    读完这本书《大话移动通信-丁奇》这本电子书,写一个读后感,题目是《浅谈移动通信的认识》。这本书详细讲解了移动通信的演进历史......

    《大话存储》读书笔记

    《大话存储》读书笔记知识点总结 《大话存储》读书笔记中,FC 协议是存储网络中的一个关键技术,本笔记涵盖了 FC 协议的各个方面,包括物理层、链路层、网络层、传输层等。 物理层:FC0 是 FC 协议中的物理层,...

    读书笔记:大话设计模式C++.zip

    读书笔记:大话设计模式C++

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

    以图像资源为例,它可能经过了压缩和编码,解包器需要正确解码这些图像,使其恢复为可读的.TGA格式。TGA是一种常见的无损图像格式,易于在多种图像处理软件中打开和编辑。 解包器的应用场景广泛,对于玩家来说,...

    大话西游鼠标指针

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

    大话素材目录.zip

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

    大话设计模式总结.pdf

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

    大话西游素材查看工具

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

    大话map tool V1.4

    大话地图提取

    读书笔记:大话设计模式.zip

    读书笔记:大话设计模式

    java版大话西游源码

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

    大话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 ...

    大话云计算【高清】

    大话云计算【高清】

    大话核心网.mobi

    大话核心网.mobi

    读书笔记:大话设计模式练习.zip

    读书笔记:大话设计模式练习

    大话移动通信-02-通信基础理论.ppt

    大话移动通信-02-通信基础理论.ppt该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~

    大话数据结构 .pptx

    大话数据结构 .pptx

Global site tag (gtag.js) - Google Analytics