【设计模式】代理模式

来源:互联网 发布:java获取tomcat端口号 编辑:程序博客网 时间:2024/05/19 21:59

设计模式就是将我们生活中的某些处理方式抽象到代码中,今天和大家分享一个常见的设计模式:代理模式

1 基础知识

这里写图片描述

2 简单例子

1)Subject类:定义了RealSubject和Proxy的共用接口,这样就可以在任何使用RealSubject的地方使用Proxy

package com.szh.pattern;public abstract class Subject {    public abstract void Request();}

2)RealSubject类:定义了Proxy所代表的的真实实体

package com.szh.pattern;public class RealSubject extends Subject {    @Override    public void Request() {        // TODO Auto-generated method stub        System.out.print("真实的请求");    }}

3)Proxy类:保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体

package com.szh.pattern;public class Proxy extends Subject {    RealSubject realSubject;    @Override    public void Request() {        // TODO Auto-generated method stub        if(realSubject==null){            realSubject = new RealSubject();        }        realSubject.Request();    }}

4)Demo

package com.szh.pattern;public class Demo {    public static void main(String[] args) {        // TODO Auto-generated method stub        Proxy proxy = new Proxy();        proxy.Request();    }}
1 0
原创粉丝点击