定义:代理和被代理对象在代理之前是确定的,他们都实现相同的接口或者继承相同的抽象类
两种实现机制
模式:
优点: 扩展原功能,不侵入原代码
缺点:如果通过继承方式实现,因为JAVA类只能继承一个父类,所以需要有多个代理类;如果通过聚合实现,当要实现多个接口代理时,代码会比较臃肿,需要为每个代理接口编写实现代码