美文网首页
装饰者模式

装饰者模式

作者: 币来币往 | 来源:发表于2018-04-07 14:36 被阅读0次

    装饰者模式的目的是在使用对象之前,增加被装饰者的行为。
    所以这里有两点需要注意:

    • 使用的还是原对象,所以装饰者必须拥有和原对象一样的接口,即继承自同一个父类,或者实现同一个接口;
    • 既然要装饰原对象,那么就必须包含一个对原对象的引用,然后在调用原对象行为的前后加上对行为的装饰。
      所以,装饰者模式及继承/实现了接口,又包含一个继承/实现了接口的对象。
      继承/实现的目的是为了类型匹配,因为要引用的是一个原对象类型;
      引用一个原对象的目的是为了获取行为, 在原行为的基础上增加自己的行为。
      这里也间接的指出了使用组合还是使用继承的原则:当我们想要达到类型匹配时,使用继承;当我们为了复用行为时,使用组合

    下面是截自 head first Design Pattern的装饰者模式的类图:

    image.png

    相关文章

      网友评论

          本文标题:装饰者模式

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