設(shè)計(jì)模式——訪問者模式 Visitor模式允許我們?cè)诓桓膭?dòng)原有結(jié)構(gòu)的基礎(chǔ)之上不斷增加新的功能。 ICumulation接口定義了方法Cumulate(),旨在計(jì)算1+2+……+n,有兩種不同的實(shí)現(xiàn)方法,一個(gè)是一般的疊加算法GeneralArithmetic,一個(gè)是高斯算法GaoSiArithmetic。 因?yàn)槟撤N原因,系統(tǒng)需要添加求平均值的功能,還有計(jì)算1到n的平方和。 按照一般的思路,我們需要在ICumulation中定義兩個(gè)方法分別計(jì)算平均值和平方和,并在實(shí)現(xiàn)類中同時(shí)添加相應(yīng)的方法。在搭建了visitor模式的架構(gòu)以后,添加功能的代碼被移植到ICumulationVisitor中,添加的兩種功能也分別被以子類AverageVisitor和PowerVisitor實(shí)現(xiàn)。 功能的擴(kuò)展從在類中添加方法的方式變成了添加新類的方式,該類繼承一定的Visitor接口。這是一個(gè)90度的轉(zhuǎn)換,使得架構(gòu)符合開放封閉(OCP)原則:功能的擴(kuò)展無需改動(dòng)原有代碼。 同時(shí),這里也體現(xiàn)了單一職責(zé)原則(SRP),ICumulation層次結(jié)構(gòu)可以因?yàn)槌霈F(xiàn)了不同的算法而改變,但是不應(yīng)該因?yàn)樾枰?jì)算不同的東西(功能)而改變,算法和功能是橫向和縱向的關(guān)系。這里visitor模式隔離了算法和功能,ICumulation層次結(jié)構(gòu)負(fù)責(zé)算法,ICumulationVisitor層次結(jié)構(gòu)負(fù)責(zé)功能。
標(biāo)簽: ICumulation Cumulate Visitor 模式
上傳時(shí)間: 2015-06-12
上傳用戶:上善若水
A C++ N-grams Package 2.0 This is a simple C++ n-grams package that includes a header, the corresponding cpp file, and a sample driver program. It is a natural language processing tool for creating n-gram profiles for text documents. The details on usage is documented in the header right above each public function defined. This package is based on Dr. Vlado Keselj s Perl package Text::Ngrams which is available in CPAN.
標(biāo)簽: includes correspo N-grams Package
上傳時(shí)間: 2015-06-12
上傳用戶:wfl_yy
求取一幅灰度圖像中的光斑形心的位置的Matlab的源代碼。算法使用的是最大類間方差法編寫的程序,可以得到光斑形心位置的(x,y)坐標(biāo)。
上傳時(shí)間: 2014-09-02
上傳用戶:bibirnovis
LOG濾波器提取邊緣;用形態(tài)學(xué)方法提取骨架線;由明暗度提取外形信息;
標(biāo)簽: LOG 濾波器 形態(tài)學(xué)
上傳時(shí)間: 2013-12-24
上傳用戶:tedo811
煙度控制儀源程序。。希望大家能實(shí)用下
上傳時(shí)間: 2013-12-15
上傳用戶:1427796291
已知n個(gè)城市之間的相互距離,現(xiàn)有一個(gè)推銷員必須遍訪這n個(gè)城市,并且每個(gè)城市只能訪問一次,最后又必須返回出發(fā)城市。如何安排他對(duì)這些城市的訪問次序,可使其旅行路線的總長(zhǎng)度最短?
標(biāo)簽: 城市
上傳時(shí)間: 2013-12-06
上傳用戶:wyc199288
線性方程一元求解double roundto(double x,int n) //將某數(shù)保留指定位數(shù)!
標(biāo)簽: double roundto int 線性
上傳時(shí)間: 2015-06-14
上傳用戶:lhc9102
256 轉(zhuǎn)換為灰度圖像的代碼,數(shù)據(jù)結(jié)構(gòu), 使用vc++開發(fā)
標(biāo)簽: 256 轉(zhuǎn)換 灰度圖像 代碼
上傳時(shí)間: 2015-06-15
上傳用戶:rishian
本程序是七彩射燈溫度顯示,溫度范圍(25-45攝仕度.沒隔5都會(huì)顯示不同的顏色.供大家參考
上傳時(shí)間: 2013-12-22
上傳用戶:561596
程序代碼說明 P0301:數(shù)字圖像矩陣數(shù)據(jù)的顯示及其傅立葉變換 P0302:二維離散余弦變換的圖像壓縮 P0303:采用灰度變換的方法增強(qiáng)圖像的對(duì)比度 P0304:直方圖均勻化 P0305:模擬圖像受高斯白噪聲和椒鹽噪聲的影響 P0306:采用二維中值濾波函數(shù)medfilt2對(duì)受椒鹽噪聲干擾的圖像濾波 P0307:采用MATLAB中的函數(shù)filter2對(duì)受噪聲干擾的圖像進(jìn)行均值濾波 P0308:圖像的自適應(yīng)魏納濾波 P0309:運(yùn)用5種不同的梯度增強(qiáng)法進(jìn)行圖像銳化 P0310:圖像的高通濾波和掩模處理 P0311:利用巴特沃斯(Butterworth)低通濾波器對(duì)受噪聲干擾的圖像進(jìn)行平滑處理 P0312:利用巴特沃斯(Butterworth)高通濾波器對(duì)圖像進(jìn)行銳化處理
標(biāo)簽: P0301 P0302 P0303 P0304
上傳時(shí)間: 2015-06-16
上傳用戶:yyyyyyyyyy
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1