【86、设计模式了解哪些说一下,装饰模式在哪见过】

72 阅读2分钟

常见的设计模式包括:

  1. 工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪个类。
  2. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。
  3. 观察者模式:定义一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并自动更新。
  4. 代理模式:为其他对象提供一种代理以控制对这个对象的访问。
  5. 装饰器模式:动态地将责任附加到对象上,若要扩展功能,装饰器提供了比继承更有弹性的替代方案。
  6. 策略模式:定义一系列算法,将它们一个个封装起来,并且使它们可以相互替换。
  7. 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
  8. 迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。

装饰模式是一种结构型模式,它通过包装一个已有的对象,来扩展其功能或者修改其行为。常见的应用场景包括:动态地给对象增加一些额外的职责;不影响其他对象的情况下,以透明的方式动态地给对象添加功能;需要动态地撤销或者取消对象的某些职责等。在Java中,IO库中的各种流就是使用了装饰器模式。例如,可以通过将输入流和输出流按照需要的顺序进行组合,来实现各种不同的读写操作。