装饰者模式

打印 上一主题 下一主题

主题 730|帖子 730|积分 2190


代码详解:【计划模式】Java 计划模式之装饰者模式(Decorator)_java 装饰者模式-CSDN博客


  1. // 抽象构件角色
  2. public interface Component {
  3.     void operation();
  4. }
  5. // 具体构件角色
  6. public class ConcreteComponent implements Component {
  7.     @Override
  8.     public void operation() {
  9.         System.out.println("执行具体构件对象的操作");
  10.     }
  11. }
  12. // 装饰角色
  13. public class Decorator implements Component {
  14.     protected Component component;
  15.     public Decorator(Component component) {
  16.         this.component = component;
  17.     }
  18.     @Override
  19.     public void operation() {
  20.         if (component != null) {
  21.             component.operation();
  22.         }
  23.     }
  24. }
  25. // 具体装饰角色A
  26. public class ConcreteDecoratorA extends Decorator {
  27.     public ConcreteDecoratorA(Component component) {
  28.         super(component);
  29.     }
  30.     @Override
  31.     public void operation() {
  32.         super.operation();
  33.         addedFunctionA();
  34.     }
  35.     public void addedFunctionA() {
  36.         System.out.println("为构件对象添加功能A");
  37.     }
  38. }
  39. // 具体装饰角色B
  40. public class ConcreteDecoratorB extends Decorator {
  41.     public ConcreteDecoratorB(Component component) {
  42.         super(component);
  43.     }
  44.     @Override
  45.     public void operation() {
  46.         super.operation();
  47.         addedFunctionB();
  48.     }
  49.     public void addedFunctionB() {
  50.         System.out.println("为构件对象添加功能B");
  51.     }
  52. }
复制代码
 装者模式的应用:
-mybatis 里的缓存:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表