android 适配器是适配器设计模式的示例吗?
Are android adapters an example of Adapter Design pattern?
Android 适配器是否使用适配器设计模式? GoF 设计模式一书将适配器设计模式描述为
The Adapter Pattern converts the interface of a class
into another interface the clients expect. Adapter lets
classes work together that couldn’t otherwise because of
incompatible interfaces.
有一个适配器实现和客户端使用(期望)的目标接口,还有一个适配器将客户端发出的所有请求委托给的适配器。
我知道它的理论和现实世界模式适配器接口看起来并不完全一样,但我仍然无法弄清楚 android 适配器适配什么(目标接口)以及适配对象是实际提出的请求。
我查了this, this and this. But none of them explain clearly how is the android adapter the adapter design pattern. The 1st and 2nd个答案,其实都有些矛盾。
有人可以解释一下吗?
不,他们不是。当您需要在两种相似但不相同的类型之间转换接口时,使用 GoF Adapter。最常见的情况是在两个没有考虑彼此编写的库之间进行交互。例如,您可以使用 returns 地图的库,但您希望将该结果传递到需要 JSONObject 的网络库中。您可以使用 Adapter 模式来转换它(这是一个有点简单的示例,但您明白了)。
像 ListView 或 RecyclerView 这样的 Android 适配器不会这样做。相反,它从模型中获取数据并将其放入视图中。实际上,最接近的等效项是 MVP Presenter。
世界上有很多 类 的名字与 GoF 相似,但与这些模式无关(例如,State 一词很少出现在状态机中)。在编写 GoF 之前很久,适配器就被用于多种用途。
Android 适配器实际上与 GoF 的适配器设计模式相同。
适配器用于为未知对象提供已知接口。
例如:如果我们使用任何第 3 方库,建议实施适配器,以便将第 3 方接口转换为已知接口。
然后只需添加一个新适配器即可轻松替换 3rp 方库。
现在,从整体上看一下 Android 中的 ListView Adapter 概念。
如果第 3 方开发人员实现了 Android 定义的适配器类型的已知接口,则他们可以自由添加任何数据后端并使列表视图工作。我希望阐明设计模式。
Android 适配器是否使用适配器设计模式? GoF 设计模式一书将适配器设计模式描述为
The Adapter Pattern converts the interface of a class into another interface the clients expect. Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.
有一个适配器实现和客户端使用(期望)的目标接口,还有一个适配器将客户端发出的所有请求委托给的适配器。
我知道它的理论和现实世界模式适配器接口看起来并不完全一样,但我仍然无法弄清楚 android 适配器适配什么(目标接口)以及适配对象是实际提出的请求。
我查了this, this and this. But none of them explain clearly how is the android adapter the adapter design pattern. The 1st and 2nd个答案,其实都有些矛盾。
有人可以解释一下吗?
不,他们不是。当您需要在两种相似但不相同的类型之间转换接口时,使用 GoF Adapter。最常见的情况是在两个没有考虑彼此编写的库之间进行交互。例如,您可以使用 returns 地图的库,但您希望将该结果传递到需要 JSONObject 的网络库中。您可以使用 Adapter 模式来转换它(这是一个有点简单的示例,但您明白了)。
像 ListView 或 RecyclerView 这样的 Android 适配器不会这样做。相反,它从模型中获取数据并将其放入视图中。实际上,最接近的等效项是 MVP Presenter。
世界上有很多 类 的名字与 GoF 相似,但与这些模式无关(例如,State 一词很少出现在状态机中)。在编写 GoF 之前很久,适配器就被用于多种用途。
Android 适配器实际上与 GoF 的适配器设计模式相同。 适配器用于为未知对象提供已知接口。 例如:如果我们使用任何第 3 方库,建议实施适配器,以便将第 3 方接口转换为已知接口。 然后只需添加一个新适配器即可轻松替换 3rp 方库。
现在,从整体上看一下 Android 中的 ListView Adapter 概念。 如果第 3 方开发人员实现了 Android 定义的适配器类型的已知接口,则他们可以自由添加任何数据后端并使列表视图工作。我希望阐明设计模式。