【发布时间】:2011-04-23 16:42:16
【问题描述】:
您可以在下面看到,我有两个具体的类,它们可以共享已经通过抽象类提供的几乎所有实现细节。他们每个人只需要自己实现 2-3 个方法。但是,ImplOne 也从 InterfaceTwo 实现,它有额外的 1-2 个方法要实现。我不想在ImplOne 中提供与在AbstractImpl 中完全相同的实现细节,但我现在在这里所拥有的似乎并不正确。在适配器模式中,从我看到的示例来看,实现细节似乎确实与正在适配的接口重复。
InterfaceOne
/ \
InterfaceTwo AbstractImpl
\ / \
ImplOne ImplTwo
【问题讨论】:
-
重复在哪里?我不明白为什么你必须重复实现。
-
扩展一个实现了InterfaceOne的抽象类,然后再实现InterfaceTwo,它也扩展了InterfaceOne,这不是有什么问题吗?我不知道,但这似乎有些不对劲。
-
这绝对没有错。这只是类型信息。这些方法不必因此而重新实现。
标签: java design-patterns adapter