博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代理模式之静态代理
阅读量:4457 次
发布时间:2019-06-08

本文共 1153 字,大约阅读时间需要 3 分钟。

  一、概述

  代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象。如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目标对象功能的特点也为多人所用。

  二、图形描述

  

  

 三、静态代理

  静态代理的实现比较简单,代理类通过实现与目标对象相同的接口,并在类中维护一个代理对象。通过构造器塞入目标对象,赋值给代理对象,进而执行代理对象实现的接口方法,并实现前拦截,后拦截等所需的业务功能。

/** * 目标对象实现的接口 * @author aaron */public interface BussinessInterface {     void execute();} /** * 目标对象实现类 * @author aaron */public class Bussiness implements BussinessInterface{     @Override    public void execute() {        System.out.println("执行业务逻辑...");    }} /** * 代理类,通过实现与目标对象相同的接口 * 并维护一个代理对象,通过构造器传入实际目标对象并赋值 * 执行代理对象实现的接口方法,实现对目标对象实现的干预 * @author aaron */public class BussinessProxy implements BussinessInterface{         private BussinessInterface bussinessImpl;         public BussinessProxy(BussinessInterface bussinessImpl) {        this.bussinessImpl = bussinessImpl;    }         @Override    public void execute() {        System.out.println("前拦截...");        bussinessImpl.execute();        System.out.println("后拦截...");    }}

静态代理的总结

  优点:可以做到不对目标对象进行修改的前提下,对目标对象进行功能的扩展和拦截。

  缺点:因为代理对象,需要实现与目标对象一样的接口,会导致代理类十分繁多,不易维护,同时一旦接口增加方法,则目标对象和代理类都需要维护

转载于:https://www.cnblogs.com/JavaHxm/p/10763274.html

你可能感兴趣的文章
并发、串行、并行及多道技术原理
查看>>
hashlib、pickle、hmac、logging模块使用
查看>>
2019秋招复习笔记--数据库基本操作
查看>>
2019秋招复习笔记--智力题
查看>>
MySQL学习笔记
查看>>
面试题
查看>>
DS博客作业08-课程总结
查看>>
利用Python爬虫刷店铺微博等访问量最简单有效教程
查看>>
浅谈软件测试与墨菲定律
查看>>
文件安全复制之 FastCopy
查看>>
强烈推荐美文之《从此刻起,我要》
查看>>
敏捷开发流程
查看>>
leetcode 412. Fizz Buzz
查看>>
对Netflix Ribbon的Loadbalancer类源码设计合理性的一点质疑
查看>>
关于日历的算法
查看>>
[QT编程]QT实现的一个渐隐渐显窗体
查看>>
在Web工程中引入Jquery插件报错解决方案
查看>>
大学总结之影响我最深的十本书
查看>>
用myEclipse连接数据源生成动态数据报表
查看>>
[myeclipse]@override报错问题
查看>>