Design Patterns

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

有四位在软件开发领域很有名的人出版了一本书《设计模式:可复用面向对象软件的基础》,一共收录了 23 种设计模式。这四个人常称为 GoF(Gang of Four)。23 种设计模式分类:

  • 创建型解决对象创建问题,将创建和使用代码解耦。

  • 结构型解决类或对象的组合或组装问题,将不同功能的代码解耦。

  • 行为型解决类或对象的交互问题,将不同行为的代码解耦。

学习设计模式需要先了解 UML 和一些基本原则

当然除了 GoF 收录的 23 种设计模式,还有许多其它设计模式。比如并发领域的一些设计模式

学习设计模式有很好好处:

  • 应对面试

  • 告别烂代码

  • 提高复杂代码的设计和开发能力

  • 读源码、学框架事半功倍

  • 为职场发展做铺垫

平时我们评价代码质量的好坏有很多词语,我们最常用的标准有:

  • 可维护性(maintainability)

  • 可读性(readability)

  • 可扩展性(extensibility)

  • 灵活性(flexibility)

  • 简洁性(simplicity)

  • 可复用性(reusability)

  • 可测试性(testability)

面向对象由于具有丰富的特性,所以是设计原则、设计模式的编码实现基础。 设计原则是知道我们代码设计的一些经验总结。 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。比设计原则更加具体、可执行。 编程规范主要解决的是代码的可读性问题。 重构作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编码规范这些理论。

Last updated