上次由于時間的原因,沒有把工廠模式完全說完座享,今天抽出下班的時間補(bǔ)錄給大家婉商。
抽象工廠模式:顧名思義,就是把用的工廠類在進(jìn)行抽象渣叛。就像是要做具體的某個操作的子類一樣丈秩。當(dāng)我們需要拓展業(yè)務(wù)的時候,我就不要去對工廠類進(jìn)行修改淳衙,而是和子類實(shí)現(xiàn)父類的方式一樣去實(shí)現(xiàn)另外一個工廠類就OK蘑秽,這樣我們不需要對原有的代碼進(jìn)行修改,只是在在原有的基礎(chǔ)之上去實(shí)現(xiàn)一個新的工廠就可以了箫攀。
我們還是通過代碼來理解吧筷狼。
首先:
1、首先我們還是必須要寫出具體的業(yè)務(wù)邏輯的實(shí)體類以及抽象出來的接口匠童。
2埂材、定義抽象的工廠接口以及具體實(shí)現(xiàn)抽象工廠的具體每一個實(shí)現(xiàn)類。在定義的工廠接口的抽象方法中汤求,通過返回 <實(shí)際業(yè)務(wù)邏輯類抽象出來的接口> 的引用俏险。同樣是通過接口引用去指向?qū)?yīng)的子類對象。在具體的工廠類中去得到具體的實(shí)現(xiàn)的業(yè)務(wù)邏輯的對象扬绪。
最后就是在需要的地方調(diào)用
? ? ? ?是不是覺得有很熟悉的感覺竖独,應(yīng)該我們在android開發(fā)中有BitmapFactory這個類 。仔細(xì)看看里面的具體實(shí)現(xiàn)吧挤牛。同時也可以結(jié)合自己實(shí)際的開發(fā)對自己的代碼進(jìn)行重構(gòu)莹痢。
? ? ? ?抽象工廠模式是一種真的很抽象的一種設(shè)計(jì)模式,希望大家按照代碼和自己理解的思路,寫一寫竞膳,千里之行始于足下航瞭。一切真知來自與實(shí)踐。希望能幫到剛學(xué)習(xí)的童鞋們坦辟,不喜勿噴刊侯,謝謝。