什么是代理模式及其作用
Proxy Pattern(即:代理模式),23种常用的面向对象软件的设计模式之一
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
优点:
(1).职责清晰 真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。
(2).代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了的作用和保护了目标对象的作用。
(3).高扩展性
结构
一个是真正的你要访问的对象(目标类),另一个是代理对象,真正对象与代理
对象实现同一个接口,先访问代理类再访问真正要访问的对象。
下面看个列子
public interface KindWomen { public void throwEye(); public void doSomething(); }
public class PJL implements KindWomen{ public void throwEye(){ System.out.println("潘金莲抛媚眼"); } public void doSomething(){ System.out.println("潘金莲..."); } }
public class XMQ { public static void main(String[] args) { PJL pjl= new PJL(); KindWomen wp = new WP(pjl); pjl.throwEye(); } }
西门庆是无法直接知道潘金莲抛媚眼的,通过王婆代理
public class WP implements KindWomen{ private KindWomen kw; public WP(KindWomen kw){ this.kw = kw; } public void throwEye() { kw.throwEye(); } public void doSomething() { kw.doSomething(); } }
运行就结果
时间: 2024-11-08 23:04:20