代码之家  ›  专栏  ›  技术社区  ›  MetroidFan2002

按类代理相对于按接口代理(Spring)有什么好处?

  •  3
  • MetroidFan2002  · 技术社区  · 15 年前

    我一直很恼火我现在必须维护的一些应用程序,它们坚持使用按类代理而不是按接口代理。更具体地说,我有被代理的服务层类,但我不能使它们成为最终的(即使它们应该是最终的),因为出于某种原因,有人认为它们应该由实际的类代理,而不是通过接口(尽管所有这些类都有接口)。

    除了不需要创建接口之外,在Spring的AOP配置中,有没有真正的理由通过目标类而不是基于目标接口进行代理?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Paul Sonier    15 年前

    只有当你真的不想改变类的时候;proxying by interface会更强大,因为它更灵活,但是如果你真的想把事情锁定在一个单独的实现上,那么proxying by class就是你要做的。我可以想象这样一种情况,在这种情况下,人们可能希望保持对专有类解决方案的依赖,而不是允许任何接口实现程序可代理,但在我看来,这些都是边缘情况;我通常假设使用接口。