设计模式概述(二)| 青训营笔记

80 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天

原型模式

  • 在面向对象系统中,使用原型模式来复制一个对象的自身,从而克隆出多个与原型对象一模一样的对象。
  • 在软件系统中,有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。

单例模式

  • 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统只有一个文件系统、一个任务管理器。
  • 如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量可以确保对象随时都可以被访问,但不能防止我们实例化多个对象。
  • 一个更好的解决办法是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例被创建,并且它可以提供一个访问该实例的方法。这就是单例模式的模式动机。

适配器模式

  • 将一个类的接口转换成客户期望的另一个接口表示,使原来由于接口不兼容而不能一起工作的类可以一起工作,目的是消除由于接口不匹配所造成的类的兼容性问题。

组合模式

  • 树形结构在软件中随处可见,如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题。
  • Composite模式将对象组合成树状结构来表示“部分-整体”的层次结构,使得单个对象和复合对象的使用具有一致性。

装饰模式

  • 关联机制,即将一个类的对象嵌入另一个对象中,由另一个对象来调用嵌入对象的行为同时扩展其行为,我们称这另一个对象为装饰器(Decorator)。
  • 装饰器使用对象之间的关联关系取代类之间的继承关系,在装饰器中既可以调用原有类的方法,还可以增加新的方法,以扩充原有类的功能。它通过一种无须定义子类的方式来给对象动态增加职责,符合合成复用原则。