Static_Porxy(静态代理模式)

Static Porxy(静态代理模式)

要求:

  • 1、要求有:真是角色和代理角色两个对象;
  • 2、真实角色 和 代理角色要实现同一个接口;
  • 3、代理角色要持真实角色的引用;
package com.xu.threads;

public class StaticPorxy {

    //静态代理模式
    public static void main(String[] args) {

        WeddingMarry weddingMarry = new WeddingMarry(new You());
        weddingMarry.HappyMarry();
    }
}

interface Marry{    // 接口
    void HappyMarry();
}

class You implements Marry{  // 真实角色 You

    @Override
    public void HappyMarry() {
        System.out.println("结婚");
    }
}

class WeddingMarry implements Marry{  //代理对象 WeddingMarry

    private You you;   // 持有真实角色的引用

    public WeddingMarry(You you) {
        this.you = you;
    }


    @Override
    public void HappyMarry() {
        befor();
        this.you.HappyMarry();
        after();
    }
	
    
    // 代理角色帮你做的事情,真实角色就可以专注的做一件事情
    public void befor(){
        System.out.println("婚前");
    }

    public void after(){
        System.out.println("婚后");
    }
}
原文地址:https://www.cnblogs.com/whitespaces/p/12529407.html