首页 > 代码库 > 设计模式之装饰者模式
设计模式之装饰者模式
Effective Java中提出一个原则,尽量避免采用继承的方式来扩展某个类的属性及方法,除非那个类是专门被设计出来用于扩展的,以及子类与父类有着明显的is-a的关系,原因也很简单,如果那个类不是专门被设计出来用于扩展的或者那个类是由你自己维护的,在继承父类后,可能会覆盖父类实现的某个方法,但是另外一个被继承的方法又调用了被覆盖的方法,这种情况下往往会造成无法预料的错误。
在设计模式中,通过采用组合的方式来扩展某个类的属性和方法的模式叫做装饰者模式,通过采用装饰者模式,可以更加灵活地对类进行扩展。装饰者模式的类图如下:
还有一种叫做适配器模式的,同样采用组合的方式来进行的模式设计,它与装饰者模式的区别在于,装饰者模式主要用于为类扩展属性和方法,而适配器模式则是改变类的api,从而使类符合当前系统的要求。
设计模式之装饰者模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。