本文介紹了映射器是適配器模式的一個版本嗎的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我一直在試圖弄清楚適配器模式,在所有模式中,我最難想象它的用途。
我想我明白實現(xiàn)了什么,對我來說就是將一個對象轉(zhuǎn)換為另一個接口,以便客戶端可以使用它。
在我看到的示例中,它們是有意義的,但我覺得我可以使用一個映射器來實現(xiàn)同樣的目的,該映射器獲取一個對象,并將其屬性(可能還應(yīng)用了一些邏輯)映射到所需的對象類型,以便改用實際對象。
是不同還是同一事物的名稱不同?
推薦答案
不要將適配器視為新對象的創(chuàng)建者(如映射器),而應(yīng)將其視為接口轉(zhuǎn)換器。
Mapper m = new Mapper()
Dog dog = (Dog) m.mapRow(resultSet); // creating new object
CAT實例仍存在于此處,未創(chuàng)建新的”Dog實例”,而是創(chuàng)建了DogAdapter實例,并使CAT對象”適應(yīng)”Dog接口。
Cat cat = new Cat("Felix");
Dog dog = new DogAdapter(cat); // cat still exists
dog.bark(); // yields 'meow'
這些顯然是人為的例子,但希望它們能幫助您更好地理解。
這篇關(guān)于映射器是適配器模式的一個版本嗎的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,