模板設計模式和策略設計模式(Java)

2021-09-25 06:22:51 字數 1066 閱讀 9310

#上課筆記,僅自己看得懂

兩個設計模式:

1)模板設計模式

2)策略設計模式

模板設計模式

/*

* 模板設計模式

* * 在父類的乙個方法中定義乙個總體的演算法骨架

* 而將某些步驟延遲到子類中,因為子類的實現細節不同

* * 注意:

* 抽象父類提供的模板方法只是定義了乙個通用的演算法,

* 其實先必須依賴子類的輔助

* *

* */

abstract class abstractoperatetime

public abstract void ooxx(); }

class stringope extends abstractoperatetime} }

public class main

}

策略設計模式

/*問題:

* 趙雲不知道哪個策略,他只知道拆

* *

*/ /* * 什麼是策略

* 定義了不同的演算法,並且之間可以互相替換

* 策略的好處

* 可以動態改變物件的行為

* 策略設計原則

* 把乙個類中經常改變的的部分或可能改變的提取出來

* * 策略設計模式:高內聚,低耦合

* */

inte***ce straegy

class backdoor implements straegy

}//求吳國太幫忙,開個綠燈

class givengreenlight implements straegy

}//孫尚香斷後,擋住追兵

class bolckenemy implements straegy

}//妙計有了,妙計放錦囊

class context

public void operate()

}public class textdemo

}

設計模式 策略設計模式

策略設計模式其實就是多型的使用,父類引用指向子類物件。策略模式的最大特點是使得演算法可以在不影響客戶端的情況下發生變化,從而改變不同的功能。策略模式的缺點其實也很明顯,在於策略模式把每一種具體的策略都封裝成乙個實現類,如果策略有很多的話,很顯然是實現類就會導致過多,顯得臃腫。案列 author de...

設計模式之策略模式與模板模式

策略模式比較類似於乙個計算有多種計算過程來獲得結果,我們把每種計算方式封裝為乙個策略,把策略作為可選擇引數來決定使用什麼計算方式。定義策略介面,表示dofight計算過程。public inte ce fightstrategy 定義實現策略類,表示各個不同的計算過程。public class xi...

設計模式 模板設計模式

1 抽象類 abstractclass類中實現了模板方法 template 定義了演算法的骨架,具體子類需要去實現,抽象方法operationr2,3,4 template operationr2,3,4可以是抽象方法,也可以是實現方法 如果是抽象方法,需要到子類實現即可 2 實現類 concret...