zoukankan      html  css  js  c++  java
  • 设计模式-装饰模式

    装饰模式 参考

      装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。

    装饰模式的结构

      装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。

    装饰模式的角色有:

    • 抽象构件(Component)角色: 给出一个抽象接口,以规范准备接收附加责任的对象。
    • 具体构件(ConcreteComponent)角色: 定义一个将要接收附加责任的类。
    • 装饰(Decorator)角色: 持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。
    • 具体装饰(ConcreteDecorator)角色: 负责给构件对象“贴上”附加的责任。

    装饰模式在Java语言中的最著名的应用莫过于Java I/O标准库的设计了。

      由于Java I/O库需要很多性能的各种组合,如果这些性能都是用继承的方法实现的,那么每一种组合都需要一个类,这样就会造成大量性能重复的类出现。而如果采用装饰模式,那么类的数目就会大大减少,性能的重复也可以减至最少。因此装饰模式是Java I/O库的基本模式。

  • 相关阅读:
    简单系统音乐播放与视频播放
    项目前准备1
    runtime
    多控制器
    maven的依赖冲突时的原则
    maven 依赖的传递性
    MAVN(自动创建maven项目骨架) 项目架构的生成
    MAVEN 构建包的引用
    MAVEN的结构认识篇
    LINUX 中 VSFTPD安裝
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/11067586.html
Copyright © 2011-2022 走看看