本文是學習了郭霖部落格後進行的知識點總結,以便日後自己回顧使用。
1.模板方法(template method)
(我的理解)在模板父類中定義需要完成的基本功能,子類中去區別實現。
(郭神的定義)定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。
上郭神的例子:
public abstract class formatter
protected void beforeformat()
protected abstract string formating(book book);
protected void afterformat()
}
關鍵:formating方法,這個方法是個抽象方法,用於處理具體的轉換邏輯,因此每乙個繼承自formatter的子類都需要重寫此方法,來實現各自的轉換邏輯。
由於類中存在了抽象方法,我們也就需要把formatter宣告成抽象類。
然後要定義專門的子類來處理每種傳輸格式的具體邏輯,這樣不同傳輸格式的邏輯可以從乙個方法裡分離開,明顯便於閱讀和理解。
定義類xmlformatter繼承自formatter,裡面加入處理xml格式的具體邏輯:
public class xmlformatter extends formatter
}
定義類jsonformatter繼承自formatter,裡面加入處理json格式的具體邏輯:
public class jsonformatter extends formatter ";
return result;
}}
最後呼叫**如下:
public class test
}
Java設計模式總結
一 策略模式 1 概念 策略模式定義了演算法族,並將演算法族封裝起來,演算法可以相互替換,演算法的變動不會影響請求該演算法的客戶。2 使用場景 1 在不同類需要不同行為,或者不同類需要相同行為但行為表現 內容 不同時,可以使用strategy模式。需注意,在設計繼承時需考慮是否使用策略模式,尤其繼承...
JAVA常用設計模式總結
導言 設計模式常常被分為以下三類 建立型 建立物件時,不再由我們直接例項化物件 而是根據特定場景,由程式來確定建立物件的方式。如,工廠方法 抽象工廠模式 單例模式等。構造型用於幫助將多個物件組織成更大的結構。如,介面卡模式 橋接模式 組合器模式等。行為型用於幫助系統間物件的通訊,以及如何控制複雜系統...
java的設計模式總結
總體來說,工廠模式適合 凡是出現了大量的產品需要建立,並且具有共同的介面時,可以通過工廠方法模式進行建立。在以上的三種模式中,第一種如果傳入的字串有誤,不能正確建立物件,第三種相對於第二種,不需要例項化工廠類,所以,大多數情況下,我們會選用第三種 靜態工廠方法模式。抽象工廠模式,建立多個工廠類,這樣...