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

    静态代理模式

    演示:实现静态代理对比Thread

    package com.lu.staticproxy;
    
    //静态代理模式总结:
    //真实对象和代理对象都要实现同一个接口
    //代理对象要代理真实角色
    
    //好处
        //代理对象可以做很多真实对象做不了的事情
        //真实对象专注做自己的事情
    
    public class StaticProxy {
        public static void main(String[] args) {
            You you = new You();//你要结婚
    
            new Thread( ()-> System.out.println("我爱你") ).start();
    
            new WeddingCompany(new You()).HappyMarry();
    
    //        WeddingCompany weddingCompany = new WeddingCompany(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 after() {
            System.out.println("结婚之后,收尾款");
        }
    
        private void before() {
            System.out.println("结婚之前,布置现场");
        }
    }
    
  • 相关阅读:
    如何提高PHP执行效率
    PHP MySQL 预处理语句
    CDN拾遗
    Rendering React components to the document body
    模拟select,隐藏下拉列表的几种实现
    前端数据范式化
    其实我们可以少写点if else和switch
    [译]the cost of javascript in 2018(1)
    provisional headers are shown 知多少
    f5到底刷新了点什么,你知道吗
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13305619.html
Copyright © 2011-2022 走看看