[英]Java- Adapter design pattern implmentation variations
我是設計模式主題領域的新手,並熱衷於理解設計模式的實現變化。 在網上的許多教程中,我已經看到了適配器設計模式中適配器類的以下結構。 (以下代碼示例摘自Wikipedia)
public class ClassAFormat1 implements StringProvider {
private ClassA classA = null;
public ClassAFormat1(final ClassA A) {
classA = A;
}
public String getStringData() {
return format(classA.toString());
}
}
如果我沒記錯的話,在此示例中,ClassA是適配器,StringProvider是目標(此處未提供類)。
通過在目標方法內定義和初始化Adaptee類,對上述代碼進行了一些小的調整。 我知道它很奇怪,但是想知道它是否仍然屬於適配器設計模式。
public class ClassAFormat1 implements StringProvider {
public String getStringData() {
ClassA classA = new ClassA();
return format(classA.toString());
}
}
是否已根據適配器設計模式的准則編寫了上述適配器類?
謝謝。
適配器的目的是具有將對象視為其他類的實例的能力。
在這個例子中你提供,並實例ClassA
可以被“處理”為StringProvider
簡單地通過使用new ClassAFormat1(a)
,其中a
的類型是ClassA
。
添加更改后,您將無法采用ClassA
不同實例,並使它們表現為StringProvider
。 在這種情況下, ClassAFormat1
不能用作從ClassA
到StringProvider
的適配器(因為您不能為它提供ClassA
任何實例,並且使其行為類似於StringProvider
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.