复用:设计模式

复用:设计模式

业务场景

内行的设计者知道:不是解决任何问题都要从头做起。他们更愿意复用以前使用过的解决方案。当找到一个好的解决方案,他们会一遍一遍地使用。因此,你会在许多面向对象系统中看到类和相互通信的对象的重复模式。

设计模式是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图,可用于解决代码中反复出现的设计问题。

每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,就能一次又一次地使用该方案而不必做重复劳动。

模式依目的可划分为三种:

  • 创建型(Creational):与对象创建有关,增加已有代码的灵活性和可复用性;
  • 结构型(Structural):处理类或对象的组合,并保持结构的灵活的高效;
  • 行为型(Behavioral):描述类或对象怎样交互和怎样分配职责。

案例

各设计模式并不是孤立的,他们之间有着千丝万缕的联系:

——摘自 GOF 的 《设计模式:可复用面向对象软件的基础》

限于篇幅,本文不再罗列各模式的具体实现。Go 版本实现可参考:《golang-design-pattern》

⓵ 创建型模式

⓶ 结构型模式

⓷ 行为型模式

小结

正如前面提到的:“不是解决任何问题都要从头做起”。

设计模式是一种在软件设计中解决问题的方法论,它可以提高代码的可维护性、可重用性和可扩展性,同时也有助于提高软件系统的可靠性和稳定性。

0%