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("结婚之前,布置现场");
        }
    }
    
  • 相关阅读:
    HDU 5528 Count a * b 欧拉函数
    HDU 5534 Partial Tree 完全背包
    HDU 5536 Chip Factory Trie
    HDU 5510 Bazinga KMP
    HDU 4821 String 字符串哈希
    HDU 4814 Golden Radio Base 模拟
    LA 6538 Dinner Coming Soon DP
    HDU 4781 Assignment For Princess 构造
    LA 7056 Colorful Toy Polya定理
    LA 6540 Fibonacci Tree
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13305619.html
Copyright © 2011-2022 走看看