码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式(代理)

时间:2017-06-14 14:17:19      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:bsp   结果   nbsp   设计   代理   常用   实现   目标   img   

  什么是代理模式及其作用

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();
    }
    
}

 

运行就结果

技术分享

 

设计模式(代理)

标签:bsp   结果   nbsp   设计   代理   常用   实现   目标   img   

原文地址:http://www.cnblogs.com/hudj/p/7008232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!