替换和修补应用程序类的实用指南
在软件开发中,传统方法并非总是能解决所有问题。当遇到一些特殊情况时,我们可能需要采用一些特殊手段,比如替换和修补类。下面我们来详细探讨在哪些情况下需要这样做,以及具体的操作方法。
1. 需要替换和修补类的情况
在软件开发过程中,有多种情况可能需要我们对类进行替换和修补,以下是一些常见的场景:
| 情况 | 描述 | 示例 |
| — | — | — |
| 第三方库功能未通过公共 API 暴露 | 使用的第三方库具备所需功能,但该功能未通过公共 API 公开 | 直到 JDK 1.4,Java Swing 没有提供获取 JComponent 监听器列表的方法,组件将监听器存储在包可见变量中,无法通过编程方式确定组件是否有事件监听器 |
| 第三方类或接口功能不够灵活 | 使用的第三方类或接口暴露的功能对应用程序来说不够灵活 | 对 API 进行简单更改可能节省大量工作时间,或者是解决问题的唯一办法,例如对某个库 99% 满意,但剩下 1% 影响有效使用 |
| 产品或 API 存在 bug 且无法等待修复 | 使用的产品或 API 存在 bug,且不能等待供应商修复 | JRun 3.0 在 HP UX 上检测 JVM 版本时存在 bug,解析 Java 运行时报告的版本字符串时会错误判断运行在旧版本 JDK 下并拒绝运行 |
| 产品架构不够开放 | 需要与产品紧密集成,但产品架构不够开放,无法满足需求 | 许多框架将接口与实现分离,若库没有提供定制手段,需要提供不同实现类时就需要进行修补 |
| 第三方代码功能未正常工作 | 使用第三方代码,但预期功能未正常工作,不确定是使用问题还是代码 bug,文档未
超级会员免费看
订阅专栏 解锁全文
1007

被折叠的 条评论
为什么被折叠?



