【发布时间】:2014-01-14 00:21:21
【问题描述】:
我的 android 应用程序被设计为使用一个 AbstractActivity (A),所有其他 Activity (B) 都为常见的生命周期方法和其他实用程序继承它。我现在必须使用第三方库(封闭源代码),为此我只需要扩展我的一个活动 (C) 来扩展第三方库 (D) 提供的活动。 (D) 正在扩展默认的 Android Activity。
我不想从 D 扩展 A(多级继承),因为 D 中的逻辑仅用于 1 个活动,并且可能会覆盖 D 尚未准备好的东西。我也不希望 C 停止扩展 A 并移至 D ..有很多代码重复。 D 是封闭源代码,所以我不能到处复制。
有没有办法处理这种情况?我正处于开发的早期阶段,所以我也可以考虑进行一些重大的重新设计。任何建议都会有所帮助!
【问题讨论】:
-
将 D 扩展为 C 的意图和目标还不是很清楚——答案将取决于它。如果只是为了功能重用,通常首选组合。如果您需要 C 具有 D 接口,那么某种适配器会很有用。所以最好在问题中添加一些细节。
标签: java android design-patterns architecture