美文网首页
装饰者模式

装饰者模式

作者: 炫迈哥 | 来源:发表于2017-03-06 21:48 被阅读0次

    类图

    • 所有原始类与装饰者类都必须实现共同基类Beverage
    • 所有装饰者类都持有另外一个属于基类类型的对象引用(这个饮用可以是原始类,也可以是装饰者类)
    • 如果使用继承实现,每一种组合都必须编写一个对应的类,最后类的数量会变得无限大。因为继承实现,类的行为在编译期间就已经确定,组合的方式使得各种行为可以在“运行时”动态随意组合以实现层出不穷的新效果。

    一些限制

    • 会出现很多小类,其他代码查看人员不容易理解。
    • 有的客户端代码不是依赖于超类型,而是依赖某个特殊的装饰类型或者基础类型,装饰将会受到限制。

    实际项目中的应用

    • 最著名的java.io库设计

    相关文章

      网友评论

          本文标题:装饰者模式

          本文链接:https://www.haomeiwen.com/subject/yoaugttx.html