8. 结构型-装饰者模式

模式简述

  • 这个模式最经典的应用就是在Java的I/O流中应用,对于文件流读写操作来说,最基本的操作就是读取、写入
  • 但实际操作时又涉及到很多的种类的操作,比如字节、字符读取、是否缓存、读写文件时提供访问效率,等等,
  • 这些功能都是额外的功能又或者说增强功能,就如同现在的氪金游戏,氪金就是增加玩家能力,更好的过关
  • 通过这个模式我们来完成功能增强,更好的完成原有任务

使用目的

  • 主要解决继承关系过于复杂的问题,通过组合来替代继承。
  • 主要作用是给原始类添加增强功能。
    这也是判断是否该用装饰器模式的一个重要的依据。
    除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。为了满足这个应用场景,在设计的时候,装饰器类需要跟原始类继承相同的抽象类或者接口

结构图

8.装饰者模式.jpg

使用设计模式的目的是为了让代码结构清晰,组织简单,避免过度设计

  • 代码Demo:装饰者模式:JavaI/O;玩家打Boss

你可能感兴趣的:(8. 结构型-装饰者模式)