ber*_*olo 5 java adapter mapper
我一直试图让我的头围绕适配器模式,在所有模式中,我最难想象它的用途.
我想我明白了实现了什么,对我而言,它是将对象转换为另一个接口,以便客户端可以使用它.
在示例中,我看到它们有意义,但我觉得我可以使用一个映射器实现相同的功能,该映射器接受一个对象并将其属性(也可能应用一些逻辑)映射到所需的对象类型,因此使用真实对象.
是否存在差异,或者它们的名称是否相同?
Tre*_*ick 15
可以认为适配器不是新对象(如Mapper)的创建者,而是作为接口转换器.
Mapper m = new Mapper()
Dog dog = (Dog) m.mapRow(resultSet); // creating new object
Run Code Online (Sandbox Code Playgroud)
cat实例仍然存在于此处,未创建新的"dog实例",而是创建DogAdapter实例并将cat对象"适应"到Dog接口.
Cat cat = new Cat("Felix");
Dog dog = new DogAdapter(cat); // cat still exists
dog.bark(); // yields 'meow'
Run Code Online (Sandbox Code Playgroud)
这些显然是人为的例子,但希望它们能帮助你更好地理解.
| 归档时间: |
|
| 查看次数: |
1812 次 |
| 最近记录: |