zoukankan      html  css  js  c++  java
  • 代理模式

    代理模式

    静态代理

    • 当服务对象和代理对象实现了统一接口

    • 那么服务对象就可以利用代理对象实现自己无法实现的功能

      class StaticAgent {
          public static void main(String[] args) {
              new WeddingCompany(new Person()).happyMarry();
          }
      }
      
      
      // 这里我们定义一个结婚的接口
      interface Marry{
          void happyMarry();
      }
      
      // 这里我们定义一个Person类实现结婚的接口
      class Person implements Marry{
          @Override
          public void happyMarry(){
              System.out.println("结婚啦");
          }
      }
      
      // 这里我们定义一个婚庆公司的类实现结婚的接口
      class WeddingCompany implements Marry{
          private Marry target;
      
          public WeddingCompany(Marry target){
              this.target = target;
          }
      
          @Override
          public void happyMarry(){
              before();
              target.happyMarry();
              after();
          }
          public void before(){
              System.out.println("婚礼前布置会场");
          }
          public void after(){
              System.out.println("婚礼后收拾场地");
          }
      }
      
      • 静态代理婚庆公司对象实现了Person类对于婚礼前后的需求,但是不需要Person自己关心如何实现,这样大大提高了代码的复用性

    // TODO 动态代理

  • 相关阅读:
    解决maven无法下载jar的问题
    Vue-Router 基础
    VUE自定义组件
    VUE过滤器
    VUE生命周期函数
    VUE表单输入绑定
    VUE计算属性和监听器
    VUE 模板语法
    VUE介绍
    taro3.x: 函数组件createIntersectionObserver
  • 原文地址:https://www.cnblogs.com/rainful/p/14905350.html
Copyright © 2011-2022 走看看