簡單工廠
接口
接口是一種特殊的抽象類,跟一般的抽象類相比,接口里的所有方法都是抽象方法,接口里的所有屬性都是常亮。也就是說接口里面只有方法定義沒有任何方法實(shí)現(xiàn)。
接口的思想是“封裝隔離”
簡單工廠
示例代碼: https://github.com/GeniusVJR/DesignMode_Java/tree/master/SimpleFactory
客戶端在調(diào)用的時(shí)候,不但知道了接口,同時(shí)還知道了具體的實(shí)現(xiàn)。接口的思想是“封裝隔離”,而實(shí)現(xiàn)類Impl應(yīng)該是被接口API封裝并同客戶端隔離開來的,客戶端不應(yīng)該知道具體的實(shí)現(xiàn)類是Impl。
簡單工廠的功能
不僅可以利用簡單工廠來創(chuàng)建接口,也可以用簡單工廠來創(chuàng)造抽象類,甚至是一個(gè)具體的實(shí)例。
靜態(tài)工廠
沒有創(chuàng)建工廠實(shí)例的必要,把簡單工廠實(shí)現(xiàn)成一個(gè)工具類,直接使用靜態(tài)方法。
萬能工廠
一個(gè)簡單的工廠可以包含很多用來構(gòu)造東西的方法,這些方法可以創(chuàng)建不同的接口、抽象類或者是類實(shí)例。
簡單工廠的優(yōu)缺點(diǎn)
● 優(yōu)點(diǎn)
幫助封裝
解耦
● 缺點(diǎn)
可能增加客戶端的復(fù)雜度
不方便擴(kuò)展子工廠