设计模式之装饰者模式

装饰者模式,又称装饰器模式。指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。简单的来说,其实是基于继承所展开的扩展,不过使用了递归的方法。

装饰者模式可以使得子类更加灵活,可以在不想添加更多子类时使用,可以动态的添加或者删除功能,就像游戏里面的插件一样,基于游戏本身增添各种mod、材质包等。装饰者模式可以独立发展,不用相互耦合。与此同时,装饰者模式也遵循了开放关闭原则(类应该对扩展开放,对修改关闭。)

这种模式也有缺点,多层结构会让程序变得复杂。虽然比起继承会产生更少的类,但是会产生比继承更多的对象会使程序查错变得困难

关于应用:在JAVA IO流中需要很多性能的各种组合,为了避免出现大量重复的类,因此装饰者模式是 JAVA I/O库的基本设计模式。

可以根据下面的文章对装饰器模式进行更深一步理解:

设计模式之装饰者模式 - 心中的山水 - 博客园

设计模式——装饰者模式 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值