============== 静态代理难维护 ============== 使用静态代理,不同代理类提供的辅助功能通常是类似的,如事务、日志、性能等。 public class UserServiceProxy implements UserService { ... public void register(User user) { logger.debug(...); // 打印日志 ... } ... } public class OrderServiceProxy implements OrderService { ... public void show(int orderId) { logger.debug(...); // 打印日志 ... } ... } ... 一旦需要修改某个辅助功能,如换一种日志格式,所有代理类都要修改,维护性差。 好的做法是只写一遍实现辅助功能的代码,就能被用于对不同原始类的代理过程中。