代理模式的好处:
1、不用改动原有代码,而去添加一些特定的业务功能;(例如:在原有增删改查类的基础之上,我们需要添加日志打印的功能,故我们可以创建一个代理类,使用set进行注入,然后使用代理类对原有功能进行一个扩展);
2、公共的功能交给了代理角色,实现了业务的分工;
3、公共的功能发生扩展的时候,可以使用代理类集中管理;
缺点:
1、一个真实角色就会产生一个代理角色,(例如:我们要对之前的一个类中的增删改查方法添加一个日志打印的方法,故我们使用代理模式进行处理,使用代理类进行方法的扩展,故相当于重写了之前的方法),代码量会翻倍,开发效率会变低!
(注:该弊端可以使用动态代理进行解决)