代理模式

来源:互联网 发布:网络信息安全组制定 编辑:程序博客网 时间:2024/06/04 19:44
package com.proxy;/** * 真实主题 * @author PROEM * */public class RealSubject extends Subject {public void request() {System.out.println("实现请求!");}}


 

package com.proxy;/** * 代理主题 * @author PROEM * */public class ProxySubject extends Subject {private RealSubject realSubject;@Override/** * 通过代理主题可以对真实主题的引用,并且在引用的同时加入自己的方法 */public void request() {//之前加入自己的方法preRequest();//进行实例化成员变量if(realSubject==null){realSubject = new RealSubject();}//方法的高用realSubject.request();postRequest();}/** * 请求前的操作 */public void preRequest(){System.out.println("请求前的操作!");}/** * 请求后的操作 */public void postRequest(){System.out.println("请求后的操作!");}}


package com.proxy;/** * 测试类 * @author PROEM * */public class Test {/** * @param args */public static void main(String[] args) {//实例化代理主题的引用Subject subject = new ProxySubject();//调用subject.request();}}

 


原创粉丝点击