我在一些遗留代码中有一个静态方法,由多个客户端调用。我显然没有选择覆盖它,或者通过依赖注入改变行为。我不允许修改现有的课程。
我现在要做的是使用反射改变行为(该方法 - 具有相同的签名和返回类型)。
是否可以 ?如果没有,任何设计模式都可以拯救我吗?
谢谢 !
编辑:我可以更改/修改什么有些混乱。我无法更改任何现有的类/方法 - 但我可以向项目添加更多类。我能对现有类做的最好的事情就是注释它们。这一切都是为了避免破坏现有代码中的任何内容——这意味着对一个大项目进行一轮完整的测试。
编辑 2: java.lang.Instrumentation 不适用于 Android - 否则听起来很合适!