设计模式前言

  • 什么是设计模式?

官方:设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。

 

人话:设计模式是一代一代的程序员对面向对象程序设计的开发经验总结,是解决某一系列问题的设计方案(注意:设计模式并不是特定的语法规定),程序界为了更好的统一这些问题,就定义了每一系列设计模式(目前传言有23种设计模式,以后可能会有更多说法)

 

  • 为什么需要设计模式?

设计模式可以有效提高代码复用性、可读性、易维护、解耦、稳健性。。。。。

 

  • 设计模式4要素

1.模式名称(Pattern Name)。一个助记名,他用一两个词来描述模式的问题、解决方案和效果。

2.问题(Problem).问题描述了应该在何时使用设计模式。

3.解决方案(Solution).解决方案描述了设计的组成成分、它们之间的相互关系及各自的职责和协作方式。

4.效果(Consequences).效果描述了模式应用的效果及使用模式应用权衡的问题。

 

  • 设计模式的三大类

 1.创建型

  抽象工厂模式(Abstract Factory)
  建造者模式(Builder)
  工厂方法模式(Factory Method)
  原型模式(Prototype)
  单例模式(Singleton) 

 2.结构型

  适配器模式(Adapter)
  桥接模式(Bridge)
  组合模式(Composite)
  装饰模式(Decorator)
  外观模式(Facade)
  享元模式(Flyweight)
  代理模式(Proxy)

 3.行为型

  职责链模式(Chain of Responsibility)
  命令模式(Command)
  解释器模式(Interpreter)
  迭代器模式(Iterator)
  中介者模式(Mediator)
  备忘录模式(Memento)
  观察者模式(Observer)
  状态模式(State)
  策略模式(Strategy)
  模板方法模式(Template Method)
  访问者模式(Visitor)
 
  • 具体的介绍详见设计模式篇

 

原文地址:https://www.cnblogs.com/whqworld/p/11769975.html