????????相信好多碼農(nóng)都知道java設(shè)計(jì)模式是什么吧,這里我就不多一一列舉,我是最近有些需求開發(fā),涉及到一些可復(fù)用的代碼開發(fā),就用一下模板模式和策略模式。通俗理解一下,模板模式就是共用抽象類的有一個(gè)模板方法大家都用得上,然后外加一個(gè)修飾方法,然后子類實(shí)現(xiàn)類可以自行重寫該修飾方法。但是呢,因?yàn)樯婕暗讲煌瑘?chǎng)景,此時(shí)可以加入一個(gè)策略模式,根據(jù)不同場(chǎng)景采用不同的策略來重寫該修飾方法。這樣封裝共用方法是不是一下子高大上起來了,然后把java的多態(tài)性使用的淋漓盡致了吧,代碼塊解耦也方便后期代碼的擴(kuò)展嘛不是?
? ? ? ? 廢話說了這么多,也應(yīng)該上點(diǎn)干貨嘛,看看我寫了什么東東。
一、模板模式

????????前提場(chǎng)景是不同流程結(jié)束后觸發(fā)該關(guān)愛基金解約,因此我寫了模板類,用共同的模板方法封裝關(guān)愛基金的參數(shù)。

????????因?yàn)橛懈鶕?jù)場(chǎng)景不同設(shè)置不同時(shí)間參數(shù)的,所以要重寫一個(gè)修飾方法來封裝,這里寫了個(gè)子類,然后根據(jù)不同場(chǎng)景,加入不同參數(shù)封裝策略。
二、策略模式



? ? ? ? ? ?根據(jù)不同場(chǎng)景去set不同的策略參數(shù),然后調(diào)用具體策略里的方法進(jìn)行參數(shù)封裝。

? ? ? ? 注意:如果使用new方法來實(shí)例化接口,記得接口實(shí)現(xiàn)類不能用autowired引入bean,否則是會(huì)空指針。
? ? ? ? 總結(jié),模板模式+策略模式,中間其實(shí)也算加上了修飾模式,讓代碼更優(yōu)雅,擴(kuò)展代碼塊解耦。