今天有個(gè)需求,統(tǒng)計(jì)一些數(shù)據(jù),按照地區(qū)劃分,不同地區(qū)生成不同的EXCEL。前幾天看了老師的設(shè)計(jì)模式視頻,今天就來試一試。代碼結(jié)構(gòu):首先說說我對(duì)模板模式的理解:對(duì)某件事物,如果是從上到下依次發(fā)生(面向過程),并且途中有可能是不確定因素(也可能是為了擴(kuò)展),但是大部分流程相同,這時(shí)候就可以用模板模式;我這里的需求無非就是:1、從數(shù)據(jù)庫取得數(shù)據(jù),2、根據(jù)地區(qū)分組,3、根據(jù)某些計(jì)算規(guī)則排名,4、 根據(jù)某些格式創(chuàng)建excel分析:其中1、2肯定是固定的,因此可以列為抽象模板的具體實(shí)現(xiàn)。3,4部會(huì)變動(dòng)的可能性很大,為了擴(kuò)展,理應(yīng)延遲到子類實(shí)現(xiàn)。模板類的結(jié)構(gòu)想好了之后,突然又想起一個(gè)事情,如果excel規(guī)則很多,并且某些模板類可能會(huì)按照多種規(guī)則解析,那我豈不是每一個(gè)模板實(shí)現(xiàn)類都要重寫規(guī)則?想到這里我就想到了“策略模式”。我對(duì)策略模式的理解:當(dāng)某類事物具備多種行為,且行為多變的時(shí)候,我們可以把行為抽取出來單獨(dú)存在(使用面向接口),然后在事物的具體實(shí)現(xiàn)里調(diào)用接口,這樣能達(dá)到行為復(fù)用,并且和實(shí)現(xiàn)解耦和的作用。這是抽象模板類:這是模板默認(rèn)實(shí)現(xiàn)類:? ?最后是規(guī)則接口,實(shí)現(xiàn),和測(cè)試類:其實(shí)寫完了這個(gè)我自己也是迷迷糊糊的,理解的不是很徹底,反正寫的時(shí)候就朝著那個(gè)思想走就行了。最后問一句,我寫這個(gè)算是 (模板+策略)嗎? 求老師解答!
設(shè)計(jì)模式(策略+模板)
Mr_Li_0001
2014-12-03 14:31:48