Java复习之静态代理设计模式

这篇博客主要是复习java中的静态代理模式。
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
代理模式说白了就是“真实对象“的代表在访问对象时引入一定程度的间接性因为这种间接性可以附加多种用途。

public class ProxyDemo
{
    public static void main(String args[])
    {
        Personman p = new Personman("小白");
        //创建代理对象
        MatchMaker m = new MatchMaker(p);
        m.miai();
    }
}

//主题接口:相亲
interface Subject
{
    public void miai();
}

//被代理类
class Personman implements Subject
{
    private String name;
    public Personman(String name)
    {
        this.name=name;
    }
    public void miai()
    {
        System.out.print(name+"正在相亲中...");
    }
}

//代理类
class MatchMaker implements  Subject{
    private Subject target;//要代理的目标对象,这里使用了组合
     //组合配合构造方法来使用
    public MatchMaker(Subject target)
    {
        this.target=target;
    }

    //相亲之前要做的事情
    private void before()
    {
        System.out.println("为代理人匹配如意郎君");
    }
    //相亲之后做的事情
    private void after()
    {
        System.out.print("本次相亲结束");
    }
    public void miai()
    {
        before();
        //真正执行相亲的方法,之前的都是由代理去做
        //中间的关键环节才是由自己做
        target.miai();
        after();
    }
}

你可能感兴趣的:(Java复习)