c 設計模式之模板方法模式 學習筆記

2021-10-05 06:12:12 字數 1108 閱讀 2052

模板方法模式原理相對比較簡單,理解上也不存在困難。實際上就是把固定的(步驟)流程封裝起來,然後通過改變每乙個具體步驟來實現不同功能。

舉個栗子。【因為最近在學習機器視覺(準備入坑),那就以傳統的影象處理步驟為例來講述模板方法模式。】

比如說:我現在進行影象處理,需要從影象中獲取我想要得到的資訊。那麼,拿到一張後的處理可以分為三個基本流程(順序執行):影象預處理,特徵提取,特徵分析。

對於產品a來說:影象預處理需要進行高斯去噪;特徵提取需要進行canny邊緣提取;特徵分析需要對提取的邊緣長度和夾角進行判斷分析。

對於產品b來說:影象預處理需要進行均值去噪;特徵提取需要進行otsu閾值提取;特徵分析需要對提取的區域面積和中心點進行判斷分析。

對於產品c來說:影象預處理需要進行中值去噪;特徵提取需要進行lbp紋理提取;特徵分析需要對提取的特徵按照要求進行判斷分類。

以上述為例,直接上**。

#include

class

visioninspection};

class

inspectproducta

:public visioninspection

virtual

void

imagefeatureextract()

virtual

void

iamgefeatureanalysis()

};class

inspectproductb

:public visioninspection

virtual

void

imagefeatureextract()

virtual

void

iamgefeatureanalysis()

};class

inspectproductc

:public visioninspection

virtual

void

imagefeatureextract()

virtual

void

iamgefeatureanalysis()

};void

main()

c 設計模式之模板方法模式

模板方法模式是指在乙個方法中定義乙個演算法的骨架,將一些步驟延遲到子類中 模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟 抽象方法由子類實現 這樣可以確保演算法的結構不變,由子類提供部分實現 策略模式和模板方法模式都封裝演算法,乙個用組合,乙個用繼承 測試 include...

設計模式之模板方法模式(C )

模板方法模式,定義乙個操作中的演算法的股價,而將一些步驟延遲到了子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。說白了就是有乙個演算法有很多部分,這個演算法在基類中已經定義好了。而演算法中的各個部分都寫成各個成員函式了。然後在子類中可以覆蓋這些成員函式,從而實現不...

設計模式學習之模板方法

1.名詞解釋 模板方法 定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中,模板方法可以使子類可以不修改乙個演算法框架的前提下即可重構該方法的某些特定步驟。模板方法通過把不變行為搬到父類,去除子類中的重複 2.示例 模板方法抽象類 package designpattern.templateme...