apa*_*ual 16 java android gradle android-gradle-plugin jitpack
我有一段时间没有开发Android,我正在尝试使用Gradle依赖项的新功能做正确的事情.
我想知道当您需要修改一个特定的依赖项以满足您的需求时,最佳实践是什么.
例如,假设我们有两个库通过子类化适配器来扩展RecyclerView功能:
Adapter --> AdapterA
Adapter --> AdapterB
Run Code Online (Sandbox Code Playgroud)
由于Java不支持多重继承,我想让两个库协同工作的唯一方法就是修改其中一个,这样子类层次结构如下所示:
Adapter --> AdapterA --> AdapterB
Run Code Online (Sandbox Code Playgroud)
如果我是正确的,这是要走的路,那么什么是修改和集成库的最佳方法,这里是我能想到的选项:
请证明或建议什么是更好的,如果有任何其他替代方案来实现这一点.
我说只需要创建一个依赖于其他库的本地模块并修改它.不要忘记记录您所做的更改.理想情况下,您将模块作为VCS中的单独提交导入,然后在另一个提交中对其进行修改.
这样做的好处是,如果您想要更新库,那么这将非常容易,因为您只需要复制新版本的源代码,然后进行相同的修改.但是,如果采用其他方法,那么您还必须将所有更改推送到GitHub,这会增加复杂性,但除非您想与其他人共享修改,否则几乎没有任何好处.
这似乎是一个不寻常的情况 - 也许一个例子会有所帮助
在诉诸分叉图书馆之前也要考虑构图.
https://en.wikipedia.org/wiki/Composition_over_inheritance
class YourAdapter {
private AdapterA adapterA
private AdapterB adapterB
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
303 次 |
| 最近记录: |