课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的软件开发程序员都在学习软件设计模式等编程相关技术,而本文我们就通过案例分析来简单了解一下,装饰者模式应用实践分享。
1、描述
通过把对象引入包含行为的特殊封装中来为对象增强功能的模式。
2、模式结构与实现逻辑
具体业务类:这个类的对象就是需要被装饰者模式加强的对象。需要实现抽象装饰类。
抽象装饰类:装饰基类,用来记录装饰行为的抽象类或者接口。
装饰类:抽象装饰类的实现类,引入抽象装饰类的对象,重写装饰行为,并在父类方法之前或之后进行而外的行为。
实现装饰者模式的大体思路就是:装饰类引用并实现(继承)业务类相同的接口(父类),再重写接口(父类)方法时,调用引用对象的方法,再添加自己逻辑。
3、实战代码
通过装饰者模式给一个战士增加战斗能力。战士类实现攻击接口,各种武器实现攻击接口,给战士装饰各种武器。
4、适用场景
希望不修改代码的前提扩展业务行为。
业务类无法继承时,例如被final关键字修饰的类,可以使用装饰者模式进行扩展
5、装饰者模式和代理模式比较
相同点:
两者同属结构性设计模式,两个模式都能基于组合原则再不修改原有类的前提下对当前行为进行扩展功能。
不同点:
装饰者是对行为未知扩展,而代理模式是对已有行为进行扩展。
装饰者的功能扩展和生命周期由客户端控制,代理模式的意图在于保护和隐藏原有对象,扩展和生命周期由代理控制,客户端只是无感调用。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。