簡體   English   中英

Java-Adapter設計模式實現的變體

[英]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不能用作從ClassAStringProvider的適配器(因為您不能為它提供ClassA任何實例,並且使其行為類似於StringProvider

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM