AOP背后的基本设计模式是什么?

时间:2011-02-14 14:28:15

标签: design-patterns

今天有人提出这个有趣的问题,而且从代理到包装器到装饰器的论点各不相同。

思想?

2 个答案:

答案 0 :(得分:10)

的简短描述
  • 代理:“为另一个对象提供代理或占位符以控制对其的访问”。*
  • 装饰器:“动态地将附加职责附加到对象。”*
  • Adapter (Wrapper):“将类的接口转换为客户期望的另一个接口。”*

基于此,对我来说AOP看起来像(解决问题的解决方案)装饰器而不是代理 - 绝对不是适配器。

*来自GoF书。

答案 1 :(得分:7)

  

“从代理到包装器到装饰器的参数各不相同。”

正确。这就是为什么他们给它一个新名称 - 面向方面的编程 - 而不仅仅是一个OOP设计模式。

如果它可以简化为单一的设计模式,那么它在创意市场中就不会持久。

重点是采取更宽泛的观点。