定義
什么是Layer Supertype模式
如果一層中的組件具有相同的一組行為咪橙,就可以將這些行為提取到一個(gè)公共類或組件中,并使層中的所有組件都繼承該公共類或組件虚倒。這不僅簡(jiǎn)化了維護(hù)并提高了可重用性美侦,還允許通過對(duì)超類型(而不是特定組件)的運(yùn)行時(shí)引用來(lái)調(diào)用公共行為,從而減少了層之間的依賴性裹刮。
類型
行為類模式
類圖
image.png
特點(diǎn)
- 減少冗余代碼
- 當(dāng)層超類型過多時(shí)可能導(dǎo)致代碼層次過多降低閱讀質(zhì)量
適用場(chǎng)景
當(dāng)某一層中所有對(duì)象都有公用特性時(shí)都可以適用音榜。
Mybatis中應(yīng)用,BaseExecutor實(shí)現(xiàn)了Executor接口中的所有函數(shù)庞瘸,并抽象出核心的3個(gè)函數(shù)doUpdate,doFlushStatements,doQuery捧弃。子類中只需實(shí)現(xiàn)這3個(gè)函數(shù)即可。
image.png