首页 > 其他 > 详细

代理模式

时间:2021-06-20 00:37:51      阅读:18      评论:0      收藏:0      [点我收藏+]

代理模式

静态代理

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

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

    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 动态代理

代理模式

原文:https://www.cnblogs.com/rainful/p/14905350.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!