zoukankan      html  css  js  c++  java
  • 静态代理

    概述

    自己需要做的事,叫别人去帮你做的更好(加料)

    比如:你要结婚,找一个公司代理结婚,结婚的人还是你,但是前后增加了好事,布置炫酷的现场,收尾款等

    使用方法

    这里用结婚流程来说

    • 定义接口,即结婚的业务
    • 定义结婚对象实现接口中的方法
    • 定义代理结婚的公司实现接口中的方法,并传入代理对象,调用代理对象
    • 增加前后的一些布置
    • 创建代理类负责启动

    实例

    模拟结婚代理

    /**
     * @function 静态代理模式
     * @class StaticProxy 启动代理
     *          Marry 结婚接口
     *          You 结婚对象
     *          WeddingCompany 公司代理对象
     */
    public class StaticProxy {
        public static void main(String[] args) {
            //Thread 也是一个代理类 接口Runnable
            new Thread( ()-> System.out.println("I love dudu")).start();
    //        和线程对比
            WeddingCompany weddingCompany = new WeddingCompany(new You());
            weddingCompany.HappyMarry();
        }
    }
    interface Marry{
    //    人间四大喜事
    //        久旱逢甘露
    //        他乡遇故知
    //        洞房花烛夜
    //        金榜题名时
        void  HappyMarry();
    }
    //结婚接口
    class You 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();
            this.target.HappyMarry();  //调用的是传入的代理对象本身
            after();
        }
        private void before() {
            System.out.println("结婚之前,布置现场");
        }
        private void after() {
            System.out.println("结婚之后,收尾款");
        }
    }
    

    一句话

    用同样的接口 把你要做的事情 加上大餐 的包装起来使用,更加舒服,省去烦恼,坐等安排。

  • 相关阅读:
    php Thinkphp 经纬度查位置(误差200米左右)
    php redis 基础操作 Thinkphp 直接套用
    超实用的华为云服务器选购技巧经验!
    连续四年第一!华为云FusionAccess夺桌面云市场桂冠
    华为云服务器、云数据库、云安全免费送!
    Linux_CentOS_6.5安装Nginx
    PHP破解wifi密码(wifi万能钥匙的接口)
    PHP+json开发API接口实例
    52首歌,一个你
    js 获取前天、昨天、今天、明天、后天的时间
  • 原文地址:https://www.cnblogs.com/gbhh/p/13768073.html
Copyright © 2011-2022 走看看