分享

装饰者模式

 ansatsing 2017-09-25
概念
动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。这是第一个符号开发-关闭原则的模式。
要点
#继承属于扩展形式之一,但不见得是达到弹性设计的最佳方式。
#在我们的设计中,应该允许行为可以被扩展,而无须修改现有的代码。
#组合和为多可用于在运行时动态地加上新的行为。
#除了了继承,装饰者模式也可以让我们扩展行为。
#装饰者模式意味着一群装饰者类,这些类用来包装具体的组件。
#装饰者类反映出被装饰的组件类型(事实上,他们具有相同的类型,都经过接口和继承实现的,都继承或者实现同样的接口或者抽象类)
#可以用无数个装饰者来包装组件。
#装饰者会导致设计中出现许多小对象,如果过渡使用,会让程序变得很复杂。

类图
抽象图:
 
 星巴克实例图
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多