美文网首页2017读书计划
1.3:装饰对象:装饰者模式

1.3:装饰对象:装饰者模式

作者: 漫步_2310 | 来源:发表于2017-05-13 16:48 被阅读26次

    1:开放-关闭原则

    2:装饰者模式,一个完美实现“开放-封闭原则”的设计模式。

    记住这么一句话:装饰者类反应出被装饰的组件类型。(事实上,他们具有相同的类型,都经过接口或继承实现)

    3:认识装饰者模式

    4:比较典型的例子“星巴克饮料”

    重点理解下面几句话:

    (1)装饰者和被装饰者拥有共同的类型(可以通过继承实现,也可以通过接口实现),这样装饰者才能够拥有替代被装饰者的能力。

    (2)被装饰者的行为,来自于装饰者和基础组件,或者与其他装饰者之间的组合关系。

    (3)通常装饰者模式是采用抽象类的,但是在Java中可以使用接口。所以具体写代码时,可以自己考虑。

    (4)看到下面的星巴克咖啡图了吗?想想怎么写代码?

    (5)咖啡种类:Beverage(饮料)

    综合:HouseBlend

    深焙:DarkRoast

    低咖啡因:Decaf

    浓缩:Espresso

    (6)配料种类:Condiment Decorator(调味品装饰)

    牛奶:Milk

    摩卡:Mocha

    豆浆:Soy

    奶泡:Whip

    (7)星巴克咖啡类图

    5:真实世界的装饰者,java中I/O

    上图中可以看到:FilterInputStream是所有InputStream的抽象装饰者,InputStream是被装饰者的公共抽象组件。

    (1)InputStream

    (2)FilterInputStream

    (3)jdk中IO包类图

    相关文章

      网友评论

        本文标题:1.3:装饰对象:装饰者模式

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