最近在專案中優化中用到了設計模式中用到工廠設計模式,在此說說自己的看法,看以前師兄寫的**真的不堪入目啊,沒一點結構化分模組的意思。整個**都是從頭寫到尾,而且**命名也不規範,從沒考慮到優化**的問題,不是科班出身俺的還是有很多要學習的地方。專案是關於高精度檢測方面的。我主要是把演算法分成相關模組進行優化。先簡單的上個uml圖。
先定義乙個抽象類measure,當然這個類中還包括具體演算法實現
protectedview codeabstract
class
measure
然後我們可以定義不同的模組類繼承自measure,實現我們要測量的尺寸,例如我們可以定義乙個具體的長度模組:
publicview codeclass
concretelength:measure}}
publicview codeclass
concretecircle : measure
}
然後來建立乙個抽象工廠類實現測量類measure:
publicview codeabstract
class
operationfactory
接著建立乙個具體的工廠類來產生我們需要的模組:例如產生乙個圓模組:
publicview codeclass
concretefactorycircle:operationfactory
}
接下來是乙個長度模組,簡單的繼承實現了。
publicview codeclass
concretefactorylength:operationfactory
}
好了,相應的工廠和具體的模組都有了,當選中相應的尺寸檢測時,只需建立相應的模組例項就好了,例如產生乙個長度模組:
concretefactorylength concretefactorylength = newview codeconcretefactorylength();
measure measure =concretefactorylength .createmeasure();
然後直接呼叫例項中的測量函式就可以得到相應的尺寸的測量結果。運用這種設計模式使模組之間的關係更加清晰,簡單。以後再次開發的時候只需增加乙個相應的工廠類和具體測量類就ok了,總體來說這次優化的效果還是不錯的,經過測試,同時測量5次的時間比以前工程測量的時間快了3秒左右,不過演算法裡的優化這一塊還沒整理,希望在以後的專案實踐中能更多的思考,總結,學設計模式主要是運用,光看書雖然有印象但是不運用還是等於白學,所以一定要實踐,最好能用自己的思想實現一遍,說不到會有意想不到的效果。
出處:
工廠模式在js中的應用
1.用ajax技術進行非同步請求是現在web開發中常見的乙個任務。簡單的工廠非常適合這種場合,根據瀏覽器能力不同生成乙個 xmlhttprequest或者actionxobject var handler function handle.prototype xhr.open method,url,t...
簡單工廠模式 應用
簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。將 類例項化的操作 與 使用物件的操作 分開,讓使用者不用知道具體引數就可以...
工廠模式在mvc模型中的應用
在web開發中我們常用mvc模式進行web應用的開發 當應用進入service 層的時候我們根據不同的業務多邏輯進行處理 當有資料進入controller的時候 public class virtualcontroller 首先是實體類 public class user public void s...