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

是否有任何“主要”框架使用monkey补丁/开放类

  •  1
  • Eyvind  · 技术社区  · 16 年前

    有人知道主要框架(如Rails/Grails/Zope)是否(广泛地)利用这个机会为开发人员提供服务吗?如果是,请举例说明。

    3 回复  |  直到 13 年前
        1
  •  8
  •   Hank Gay    16 年前

        2
  •  2
  •   Joel Coehoorn    16 年前

    .Net允许通过扩展方法进行扩展。

    具体来说,Linq严重依赖于修补到IEnumerable接口上的扩展方法。

        3
  •  1
  •   Robert Campbell    16 年前

    AspectJ使用加载时(运行时)编织向开发人员提供有用服务的一个例子是Spring的@Configuration注释,它允许您对Spring的BeanFactory未实例化的对象使用依赖项注入。

    您特别提到了修改方法(或其工作方式),使用的一个例子是在发送给处理程序(某个控制器方法或doPost等)并检查用户是否有权访问该资源之前拦截am http请求的方面。然后,您的方面可能会决定提前返回一个带有重定向到登录的响应。虽然不修改方法本身的内容,但您仍然在修改方法的工作方式,即更改它本来会给出的返回值。