菜鸟硕枫设计模式系列之10 装饰模式
发布日期:2021-10-01 08:45:09 浏览次数:2 分类:技术文章

本文共 1876 字,大约阅读时间需要 6 分钟。

装饰模式是对对象功能的扩展的一种模式,好处在于不更改原有对象的特性,只是通过注入方式为对象添加一些额外的功能,使得对象的功能丰富,特别有利于对对象行为的多个细小行为的添加。装饰模式是一种结构型模式。
装饰模式类图:
[img]http://dl.iteye.com/upload/attachment/364545/b30e222f-1f5e-3ad1-a21f-ff3cec6723b6.jpg[/img]
具体demo示例:
//组件抽象类
package decoratorPattern; public abstract class Component {
public abstract void doSomething(); }
具体实现:
package decoratorPattern; public class ConcreteComponent extends Component{
@Override public void doSomething() {
System.out.println("welcome to Taobao."); } }
装饰者:
package decoratorPattern; public abstract class Decorator extends Component{
private Component component; public abstract void doSomeDecoratorThing(); public void doSomething(){
doSomeDecoratorThing(); component.doSomething(); } public void setComponent(Component component) {
this.component = component; } }
具体装饰者1:
package decoratorPattern; public class ConcreteDecoratorA extends Decorator {
@Override public void doSomeDecoratorThing() {
System.out.println("Morning,"); } }
具体装饰者2:
package decoratorPattern; public class ConcreteDecoratorB extends Decorator{
@Override public void doSomeDecoratorThing() {
System.out.println("Afternoon,"); } }
测试类:
package decoratorPattern; public class decoratorPatternTest {
public static void main(String[]args){
Component component = new ConcreteComponent(); System.out.println("-----------------------------"); component.doSomething(); System.out.println("-----------------------------"); ConcreteDecoratorA concreteDecoratorA =new ConcreteDecoratorA(); concreteDecoratorA.setComponent(component); concreteDecoratorA.doSomething(); System.out.println("-----------------------------"); ConcreteDecoratorB concreteDecoratorB =new ConcreteDecoratorB(); concreteDecoratorB.setComponent(component); concreteDecoratorB.doSomething(); } }
说明:和直接子类相比,利用装饰者的话,能够更灵活的丰富对象的行为。

转载地址:https://blog.csdn.net/iteye_2655/article/details/81970411 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:菜鸟硕枫设计模式系列之11 外观模式
下一篇:菜鸟硕枫设计模式系列之9 组合模式

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月14日 05时25分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章