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

    //用户操作的接口

    public interface User {

        public void add();
        
        public void update();
    }

    //用户接口的实现类

    public class UserImpl implements User {

        @Override
        public void add() {
            // TODO Auto-generated method stub
            System.out.println("用户添加");

        }

        @Override
        public void update() {
            // TODO Auto-generated method stub
            System.out.println("用户修改");

        }

    }

    //现在有这种情况出现,在某些地方使用UserImpl的方法是需要在前面打印“xx 方法调用之前。。。。”,"xx方法调用结束。。。",而有些地方不需要,怎样来解决这些问题呢,接下来,我们用代理来解决这个问题。

    //这就是userImpl的代理类,该模式成功解决了上述问题。

    public class ProxyT implements User  {
        
        private UserImpl userImpl;

        ProxyT(UserImpl userImpl) {
            //super();
            this.userImpl = userImpl;
        }

        @Override
        public void add() {
            // TODO Auto-generated method stub
            System.out.println(" add 方法调用之前。。。。");
            userImpl.add();
            System.out.println("add 方法调用结束。。。。");
        }

        @Override
        public void update() {
            // TODO Auto-generated method stub
            System.out.println("update 方法调用之前。。。。");
            userImpl.update();
            System.out.println(" update 方法调用结束。。。。");
        }
        public class ProxyTest {
    //代理类的测试方法
        @Test
        public void test(){
            
            //new UserImpl();
            ProxyT  proxy=new ProxyT(new UserImpl());
            proxy.add();
            proxy.update();
        }
    }
        //可能有人会这么想了,如果想要多个类,比如person,tree等等的,是不是要每个类都要对应的代理类呢,象ProxyT,这不是很繁琐吗?不要急,在接下来的博客中,我会分享动态代理,来解决上述问题。

    }

  • 相关阅读:
    cocos2dx[3.2](2) 3.x巨变
    cocos2dx[3.2](1) 浅析cocos2dx3.2引擎目录
    cocos2dx基础篇(28) 布景层Layer的三个子类
    cocos2dx基础篇(27) 屏幕适配
    centos 安装 mysql5.6
    centos 安装 mysql5.7.9初始密码问题
    php 计算字符串长度
    mysql tinyint
    php数组
    PHP中9大缓存技术总结
  • 原文地址:https://www.cnblogs.com/liuquande/p/3803995.html
Copyright © 2011-2022 走看看