本篇内容介绍了“Java中的装饰模式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!装饰者模式作用是针对目标方法进行增强,提供新的功能或者额外的功能,动态的扩展对象,是继承关系的一种替代方法之一,符合Java开发的开闭原则。装饰者模式和代理模式很像,可以对比帮助更好地理解学习。我们需要通过实现接口的方式来进行增强,因此目标必须抽象为接口。组成:抽象组件(Component) :定义装饰方法的规范
被装饰者(ConcreteComponent) :Component的具体实现,也就是我们要装饰的具体对象。
装饰者组件(Decorator) :持有组件(Component)对象的实例引用, 香港云主机该类的职责就是为了装饰具体组件对象,定义的规范。
具体装饰(ConcreteDecorator) :负责给构件对象装饰附加的功能。定义抽象接口定义装饰者定义具体装饰类型第一种第二种定义被装饰者测试结果你可以用一个或多个具体装饰(ConcreteDecorator)包装一个对象。
装饰者可以在所委托被装饰者的行为之前与/或之后,加上自己的行为,以达到特定的目的。(类似代理模式)
装饰者模式的设计原则为:对扩展开放、对修改关闭,这句话体现在我如果想扩展被装饰者类的行为,无须修改装饰者基类,只需继承装饰者基类,实现额外的一些装饰或者叫行为即可对被装饰者进行包装。所以:扩展体现在继承、修改体现在子类中,而不是具体的抽象类,这充分体现了依赖倒置原则。Java 的I/O API就是使用Decorator实现的。抽象组件(InputStream) :装饰者模式中的超类,它只有一个抽象方法read(),子类都需要对该方法进行处理
被装饰者(FileInputStream , ByteArrayInputStream , StringBufferInputStream) :拥有通用实现read()基本方法
装饰者组件(FilterInputStream) :定义具体装饰者的行为规范,可以做统一基础处理。
具体装饰(BufferedInputStream , DataInputStream , Base64InputStream) :具体的装饰类,拥有对流的读操作做完成具体拓展能力。“Java中的装饰模式是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!
今天小编给大家分享一下SAP怎么实现序列号管理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。SAP系统标准功能可以实现序列号管理。其系统配置也不…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。