公司的專案中有乙個這樣需求,客戶要求對不同的資訊進行匯出功能,如使用者資訊、商品資訊、訂單資訊等等,並且要求數量太大的匯出要進行非同步處理,專案中就採用了模板模式進行了處理。
需求確定了,解決方法也確定了,那我們先來看一下模板模式的定義:定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變乙個演算法的結構即可重定義該演算法即可重定義該演算法的某些特定步驟。
接下我們就來看看實現的基礎**,首先曾經乙個基礎的匯出抽象類
public
abstract
class
baseexport
else
}}
然後我們對需要實現匯出的模板繼承該抽象類
public
class
userinfoexport
extends
baseexport
@override
protected
intsearchcount()
}
最後我們再來看看場景類
public
class
client
}
如果商品資訊也需要匯出功能,我們只需要再繼承baseexport實現乙個類即可
public
class
goodsinfoexport
extends
baseexport
@override
protected
intsearchcount()
}
模板設計模式 抽象類的實際應用
抽象類的最大特點在於強制規定了子類的實現結構,除了這個特點以外,抽象類更多情況下起到乙個模板的作用 下面舉乙個例子 人 吃飯 睡覺 工作 豬 吃飯 睡覺 機械人 吃飯 工作 定義行為類 abstract class action 不確定具體實現,但是行為應該定義好 public abstract v...
抽象類的應用 定義模板
問題定義 假設人分為學生和工人,學生和工人都可以說話,但是學生和工人說話的內容是不一樣的,也就是說說話這個功能應該是乙個具體功能,而說話的內容就要由學生或工人來決定了。可以使用抽象類來實現這個功能。abstract class person public void setname string na...
抽象類 模板方法設計模式
一 抽象類的應用 1 概念 當多個類存在相同的功能時,我們就可以把這些功能提出出來,單獨封裝在乙個類裡面,只提出方法名,不提出方法實體就是功能的主體部分不同,我們進行向上抽取,只抽取功能的定義部分,不抽取功能的主體。2 abstract,抽象的,可以修飾類和方法,被修飾的方法只能有方法名,沒有方法實...