简述: 代理模式:“为另一个对象提供替身或占位符以控制对它的访问”。 装饰器模式:“动态地将责任附加到对象上”。 适配器模式(包装器):“将类的接口转换为客户端期望的另一种接口”。 基于此,对我而言,AOP 更像是装饰器模式解决的问题,而不是代理模式,绝对不是适配器模式。 *来自 GoF 书籍。
"这些参数从代理到包装器再到装饰器不一而足。"没错。这就是为什么他们给它起了一个新名字——面向切面编程——而不仅仅是一个面向对象的设计模式。如果能将其简化为单一的设计模式,它在思想市场上就不会持久存在。重点是要采取更广泛的观点。