设计模式——代理模式(智能指引)

智能指引模式中,代理在访问对象时执行了一些附加操作,典型用途包括:实际对象引用计数,例如统计一个页面被访问了多少次。
比如:
在这里插入图片描述
呜呜呜,我这惨淡的访问量(快用点赞安慰我!)
同样画出类图:
在这里插入图片描述
看代码框架
在这里插入图片描述

package Guide;

public interface IPage {
    public void display();//显示页面
}
class Page implements IPage{
    private String url;
    public Page(String url)
    {
        this.url=url;
    }
    public void display(){
        System.out.println("Content from"+url);
    }
}
package Guide;

public class PageProxy implements  IPage{
    private IPage page;
    private  int count=0;
    public PageProxy(IPage page)
    {
        super();
        this.page=page;
    }
    public void display()
    {
        updateCount();
        page.display();
    }
    private void updateCount()
    {
        System.out.println("Visits:"+(++count));
    }
}

package Guide;

public class Client {
    public static void main(String arg[])
    {
        IPage pageProxy=new PageProxy(new Page(" www.baidu.com"));
        pageProxy.display();
        pageProxy.display();
    }
}

输出结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值