《写给大家看的面向对象编程书》总结&&实践(15)

设计模式

创建一个软件系统时,实际上是对一个真实系统建模。

设计模式的基本概念以最佳实践原则为中心。所谓最佳实践,当创建好的、高效的解决方案时,这些解决方案会以某种方式记录下来,使其他人能够从先前已取得的成功获益——当然也包括从以往的失败学习。

为什么研究设计模式

每个模式都描述了在我们环境中反复出现的一个问题,然后介绍这个问题解决方案的核心,以便多次使用这个解决方案,而不必反复地重复工作。

模式的四大要素

  • 模式名是描述一个设计问题

  • 问题描述了何时应用这种模式

  • 解决方案描述了构成设计的元素,以及元素之间的关系、元素的职责和协作
  • 结果描述应用这种模式的结果和开销

模型/视图/控制器(MVC)

《设计模式》将MVC组件定义如下:模型是应用对象,视图是屏幕表示,而控制器定义了用户界面与用户输入之间的交互方法。

设计模式的不同类型

  • 创建型模式:这些模式为你创建对象,而不是由你直接实例化对象。这样在确定给定情况下需要创建哪些对象时,程序会有更多的灵活性
  • 结构性模式:可以帮助你将多组对象组合为更多的结构,如果复杂用户界面或审计数据
  • 行为型模式:帮助你定义系统中对象之间的通信,以及复杂程序中如何控制数据流

创建型模式

  • 抽象工厂模式
  • 生成器模式
  • 工厂方法模式
  • 原型模式
  • 单例模式

结构型模式

  • 适配器模式
  • 桥接模式
  • 组合模式
  • 装饰器模式
  • 外观模式
  • 享元模式
  • 代理模式

行为型模式

  • 职责链模式
  • 命令模式
  • 解释器模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 观察者模式
  • 策略模式
  • 模板方法模式
  • 访问者模式

小结

简单介绍设计模式,及《设计模式》中列举的模式类型。