映射器是适配器模式的版本吗

贝里姆博洛:

我一直试图绕过适配器模式,在所有模式中,我很难想象它的用途。

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

在示例中,我看到了它们是有道理的,但是我觉得我可以通过使用带对象的映射器并将其属性映射到所需的对象类型(可能还应用一些逻辑)来实现相同的目的,因此可以使用真实的对象。

同一件商品是否有所不同或名称不同?

Trever Shick:

不要将适配器视为新对象(例如Mapper)的创建者,而是接口转换程序。

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

cat实例仍然存在,这里没有创建新的“ dog实例”,而是创建了DogAdapter实例,并将cat对象“适配”到Dog接口。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章