学习总结 -- Week 3

用户头像
吴炳华
关注
发布于: 2020 年 06 月 24 日
学习总结 -- Week 3

In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. 

--Wikipedia

代码重构指的是对既有代码对结构进行调整而不改变其对外暴露功能的软件开发流程。



代码重构是软件开发过程中的常见活动。代码重构可以确保软件架构保持在正确的设计原则之上,并及时清除以发现的代码中的结构性风险,确保代码的可读性,可维护性。如何做代码重构?归纳既有代码的功能,套用设计模式改造成可复用的模块或者接口,是一种行之有效的方法。

设计模式大体上可以分为3类:创建型模式结构型模式以及行为型模式。

创建型模式

创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。

创建型模式在创建什么(What),由谁创建(Who),何时创建(When)等方面都为软件设计者提供了尽可能大的灵活性。创建型模式隐藏了类的实例的创建细节,通过隐藏对象如何被创建和组合在一起达到使整个系统独立的目的。包含如下具体模式:



  • 单例模式

  • 抽象工厂模式

  • 建造者模式

  • 工厂模式

  • 原型模式

机构型模式

结构型模式(Structural Pattern)描述如何将类或者对 象结合在一起形成更大的结构,就像搭积木,可以通过 简单积木的组合形成复杂的、功能更为强大的结构。

结构型模式包含:



  • 适配器模式

  • 桥接模式

  • 装饰模式

  • 组合模式

  • 外观模式

  • 享元模式

  • 代理模式

行为型模式

行为型模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。

通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象 之间的交互。在系统运行时,对象并不是孤立的,它们可以通过相互通信与协作完成某些复杂功能,一个对象在运行时也将影响到其他对象的运行。

行为型模式包括:



  • 模版方法模式

  • 命令模式

  • 迭代器模式

  • 观察者模式

  • 中介者模式

  • 备忘录模式

  • 解释器模式

  • 状态模式

  • 策略模式

  • 职责链模式

  • 访问者模式



如何运用设计模式

在日常工作中,通常不会一开始就套用设计模式。随着代码量增加,业务变得多样而复杂的时候,往往需要进行代码重构。在重构的过程中,可以根据实际情况,决定是否要应用设计模式来来增强代码的可扩展性。但是我们同样应该警惕另一种极端情况,就是不管写什么代码都套用设计模式,既“过度设计”。使用不当的设计模式,同样可能成为可维护性的绊脚石,影响开发效率,抬升维护成本。权衡也正是架构师的工作内容之一。:D



发布于: 2020 年 06 月 24 日 阅读数: 42
用户头像

吴炳华

关注

还未添加个人签名 2020.04.08 加入

还未添加个人简介

评论

发布
暂无评论
学习总结 -- Week 3