我有两套Java API执行相同的工作但是针对不同的系统平台,除了它们具有不同的包名称(并且它们没有实现相同的接口)之外,它们的所有API函数定义完全相同.我没有足够的自由来改变API的代码,所以我无法让它们实现任何接口.
我想在这些API之上编写代码,并希望这些代码可用于两个API集(类似于策略设计模式).
实现这一目标的最佳方法是什么?我不想创建接口和适配器类,因为有超过20种API方法.
尽管不是原始问题想要的,但我会选择两种API的适配器.您的适配器将实现您自己的界面,然后可以在策略中使用.
这也使您可以选择为自己需要的操作提供自己的界面和描述性名称,并完全抽象出底层API.也许你不需要全部20种方法?
提示:
另一种方法是使用java.lang.reflect.Proxy(如铍的解释).代理的实现很简单,但您需要手动创建接口.
| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |