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