1、什么是静态代理?
两个对象之间的操作不直接进行,通过第三方进行代理来实现。就比如说房客租房子这件事情,租房的两个对象是房客和房东,静态代理便是,在房客和房东之间多了一个角色,这便是中介,代理便是中介,现在租房这件事情便是房客和中介,以及中介和房东之间的事情,房客不直接和房东进行租房的操作。
2、为什么要使用静态代理?
回到刚才租房的例子,如果不使用静态代理,后面房客的需求增加了,房东的功能也随之增加,在原有代码的基础上进行代码的改动,可能会导致代码出现问题。
现在如果要对每个方法执行前输出一句话“今天天气真不错”,就需要对每个方法都进行更改,这样可能导致代码出现问题
使用静态代理模式便可以很好解决这个问题
只需要代理类在执行执行方法时进行相应的更改,这样便不会更改源代码,实现同样的需求
3、静态代理如何使用?
静态代理的使用首先要定义代理类实现相应的接口
通过代理类来调用相应的方法,可以实现同样的功能,并且不修改原有代码。
这便是静态代理,静态代理很好的实现了在不修改原有代码的基础上进行业务拓展的功能,这也是它主要的功能。
但是静态代理是代理类在创建的时候,接口以及代理类就已经确定了,因此一个静态代理类只能代理一个类,造成代码的冗余 。