美文网首页Laravel设计模式程序员
设计模式之谈:从重构到模式

设计模式之谈:从重构到模式

作者: Dearmadman | 来源:发表于2016-04-18 09:54 被阅读643次

从重构到模式

当你意识到你需要理解并学会重构的时候,就是你即将进阶的时候。
专业的程序员都是从这里开始正式的职业之旅的。

重构

代码重构(code refactoring) 指对软件代码做任何改动以增加可读性或者简化结构而不影响输出结果。

在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码,有时非正式的称为“清理干净”。在极限编程或者敏捷方法学中,重构常常是软件开发循环中的一部分:开发者轮流增加新的测试和功能,并重构代码来增进内部的清晰性和一致性。自动化的单元测试保证了重构不至于让代码停止工作。

重构既不修正错误,又不增加新的功能性。反而它是用来提高代码的可读性或者改变代码的内部结构和设计,并且移除死代码,使其将来更容易被维护。重构代码可以是结构层面抑或语义层面,不同的重构手段施行时,可能是结构的调整或语义的转换,但前提是不影响代码在转换前后的行为。特别是,在现有的程序结构下,给一个程序增加新的行为可能非常的困难,因此开发人员可能先重构这部分代码,使加入新行为变得容易。

重构是为了更好的维护与扩展,它能使你快速的了解原有代码的设计,不至于你一个月后再回头看源代码时有种完全看不懂的感觉。

频繁的重构之后,总会有一些通用的模式在里面,将这些通用的模式总结起来,构成了设计模式。

设计模式

在软件工程中,设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。

设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对适应变化的能力。

说到设计模式,我们不得不说到模式。

模式

模式(pattern), 在物体或事件上,产生的一种规律变化与自我重复的样式与过程。在模式之中,某些固定的元素不断以可预测的方式周期性重现。最基本而常见的模式,称为密铺,具备重复性与周期性两大特征。找寻出固定模式是人类基本的认知功能之一。

模式的存在,方便我们复用问题的解决方案。
如果我们需要去劈柴,我们很可能就会想到斧头。因为斧头是劈柴的常用解决方案。

结尾

当我们学习设计模式,发现并不能理解,或者觉得并不能很好的运用的时候,或许你需要好好学习一下重构,如果没有理解重构,而直接跳过它学习设计模式,这个过程将是事倍功半的。

推荐书籍:

  • 《重构:改善既有代码的设计》
  • 《设计模式之禅》

相关文章

  • 设计模式之谈:从重构到模式

    从重构到模式 当你意识到你需要理解并学会重构的时候,就是你即将进阶的时候。专业的程序员都是从这里开始正式的职业之旅...

  • 模式方法

    从封装变化角度对模式分类 学习设计模式的方法: 重构获得模式Refacting to Patterns:(1)寻找...

  • 大话设计模式 读书笔记

    大话设计模式 book: <设计模式> <设计模式解析> <敏捷软件开发:原则, 模式与实践> <重构-改善既有代...

  • android提升大法

    1、架构设计 1.1 设计模式 1.2 重构《重构改善既有的代码设计》 1.3 架构模式MVP MVC MVVM ...

  • GeekBand C++设计模式 第一周

    1.设计模式简介 课程目标 松耦合设计思想 面向对象设计原则 重构技法改善设计 GOF核心设计模式 设计模式 不断...

  • 成为Java顶尖程序员,先过了下面问题!(十)

    十、设计模式与重构 1.你能举例几个常见的设计模式 1)单例模式 (Spring Bean)2)抽象工厂模式和工厂...

  • 代码重构

    模式和重构之间有着一种与生俱来的关系。从某种角度来看,设计模式的目的就是为许多重构行为提供目标。 在实际的项目开发...

  • 设计模式

    设计模式之旅 图说设计模式 小猪的设计模式初涉总结 Java之美[从菜鸟到高手演变]之设计模式 Java之美[从菜...

  • 四巨头23种设计模式的意图

    了解设计模式的意图,是在代码重构中浮现并识别设计模式的关键。本文将四巨头在《设计模式》一书的23种设计模式的意图放...

  • java设计模式23种

    极客学院-23 种设计模式 Java之美[从菜鸟到高手演变]之设计模式Java之美[从菜鸟到高手演变]之设计模式 ...

网友评论

    本文标题:设计模式之谈:从重构到模式

    本文链接:https://www.haomeiwen.com/subject/tmfalttx.html