代理模式-接口应用

代理模式目的是为了扩展和增强类或接口。代理模式通常可分为静态代理模式和动态代理模式。

 

1.静态代理模式

主要实现的原理是:代理类和被代理类同时实现一个主题接口,代理类持有被代理类的引用。

(1)新建一个公共接口UserInterface

(2)定义真实执行类RealUser并实现公共接口UserInterface

(3)定义代理类UserProxy实现公共接口UserInterface,并持有被代理类的实例。

 

2.动态代理是指在程序运行是动态的创建代理类。动态代理的使用方式主要分为两种:一种是基于接口的代理,另一种是基于累的代理。基于接口的代理方式是指通过JDK自带的反射类来生成动态代理类;基于类的代理方式是指通过字节码来实现类代理,如CGLIB和Javassist等。

一、基于JDK反射生成代理类

(1)定义一个公共接口UserServiceInterface

(2)定义真是用户角色类UserServiceImpl并实现公共接口UserServiceInterface

(3)定义代理类UserServiceProxy,实现InvocationHandler接口,并重写invoke()方法

 

二、CGLIB实现动态代理

(1)直接实现MethodInterceptor拦截器接口,并重写intercept()方法;

(2)新建Enhancer类,并设置父类和拦截器类

 

posted @   草莓小甜心  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示