Java中常见的设计模式之代理设计模式

来源:互联网 发布:淘宝什么时候最便宜 编辑:程序博客网 时间:2024/05/23 11:46

代理设计模式

     代理设计模式就是指由一个代理主题来操作真实主题,真实主题来操作执行具体的业务,而代理主题负责其他相关业务的处理。
     代理模式有三种角色:抽象角色,代理角色和真实角色。
     抽象角色:声明真实角色和代理角色的共同接口。
     代理角色:代理角色内部包含对真实角色的引用,从而可以操作真实角色,同时代理角色提供与真实角色相同的接口以便在任何时候都能代替真实对象。同时代理对象可以再执行真实操作时,附加其他的操作,相当于对真实对象进行封装。
    真实角色:代理角色所代表的真实对象,是最终使用的角色。
    Java代码示例:
   

    interface NetWork{        public void browse();    }    class Real implements NetWork{        public void browse(){            System.out.println("Start search");        }    }    class Froxy implements NetWork{        private NetWork network;        public Froxy(NetWork network){            this.network = network;        }        public void check(){            System.out.println("Checking");        }        public void browse(){            this.check();            this.network.browse();        }    }    public class FroxyDemo{        public static void main(String[]args){            NetWork nt = null;            nt = new Froxy(new Real());            nt.browse();        }    }

    代理模式的一个好处就是对外提供统一的接口方法,代理类在接口中对真实的类进行操作,从而在不影响外部调用的情况下,进行系统拓展。
    当我们需要使用的对象很复杂或者需要很长时间去构造,这时就可以使用代理模式(Proxy)。





0 0
原创粉丝点击