首頁>技術>

模板模式:封裝了一個演算法步驟,並允許子類為一個或多個步驟方法提供實現,模板模式可以使子類在不改變演算法的結構的情況下,重新定義演算法中某些步驟。由於存在需要子類來實現的方法,所以超類是抽象類,在超類方法一般有三種類型,一是,抽象型別的,需要子類來實現,二是,具體的,可以使用final修飾,告訴子類這個方法是通用的,不允許修改,由超類實現,三是,可選的,稱為鉤子函式,提供了預設方法,同時子類可以覆蓋,如果子類不實現,使用超類預設實現。模板模式和策略模式差異,一是:模板模式封裝的是方法的步驟,策略模式是針對某一個行為進行封裝,側重點在於方法的功能,二是,模板模式透過繼承實現,策略模式透過組合(介面)的方式實現。這兩種模式是可以組合在一起使用的,根據實際場景來選擇。我在工作中使用到了模板模式,大概是這樣的,有一款考勤機,一款攝像頭,這兩款雖然是同一個公司的產品,但是在實現機制上不同,如在程式採集人臉時,考勤機如果已經存在的人員工號,是需要先刪除,才能採集成功,攝像頭這個沒這個限制,共同點都需要採集圖片,這個是通用的方法,不同點剛才已經提到了,又這兩個子類分別實現採集圖片。

9
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • python高亮顯示word指定文字或改變顏色