gpt4 book ai didi

java - 映射器是适配器模式的一个版本吗

转载 作者:搜寻专家 更新时间:2023-11-01 01:15:46 25 4
gpt4 key购买 nike

我一直在努力了解适配器模式,在所有模式中,我最难想象它的用途。

我想我明白实现了什么,对我来说就是将一个对象转换为另一个接口(interface),以便客户端可以使用它。

在示例中,我看到它们是有意义的,但我觉得我可以使用一个映射器实现相同的效果,该映射器获取一个对象并将其属性(可能也应用一些逻辑)映射到所需的对象类型,因此真实对象是改为使用。

有区别还是它们是同一事物的不同名称?

最佳答案

不要将适配器视为新对象的创建者(如 Mapper),而是将其视为接口(interface)翻译器。

Mapper m = new Mapper()
Dog dog = (Dog) m.mapRow(resultSet); // creating new object

cat 实例仍然存在于此,不会创建新的“dog 实例”,而是创建 DogAdapter 实例并将 cat 对象“适配”到 Dog 接口(interface)。

Cat cat = new Cat("Felix");
Dog dog = new DogAdapter(cat); // cat still exists
dog.bark(); // yields 'meow'

这些显然是人为的示例,但希望它们能帮助您更好地理解。

关于java - 映射器是适配器模式的一个版本吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42120946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com