您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java的簡(jiǎn)單工廠模式怎么用”,在日常操作中,相信很多人在Java的簡(jiǎn)單工廠模式怎么用問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Java的簡(jiǎn)單工廠模式怎么用”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
簡(jiǎn)單工廠模式
簡(jiǎn)單工廠模式是屬于創(chuàng)建型模式,是工廠模式的一種。 簡(jiǎn)單工廠模式是由一個(gè)工廠對(duì)象決定創(chuàng)建出哪一 種產(chǎn)品類 的實(shí)例。簡(jiǎn)單工廠模式是工廠模式家族中最簡(jiǎn)單實(shí)用的模式
簡(jiǎn)單工廠模式:定義了一個(gè)創(chuàng)建對(duì)象的類,由這個(gè)類來(lái) 封裝實(shí)例化對(duì)象的行為(代碼)
在軟件開(kāi)發(fā)中,當(dāng)我們會(huì)用到大量的創(chuàng)建某種、某類或者某批對(duì)象時(shí),就會(huì)使用到工廠模式.
舉個(gè)例子
我家是農(nóng)村的,我老爸老媽就是個(gè)農(nóng)民種水果的,地里面有蘋果,梨,葡萄等,你們這些城里娃,想吃新鮮水果怎么辦呢?你們只能也只能去超市買了,這時(shí)候這個(gè)超市就相當(dāng)于一個(gè)工廠了,客戶不需要關(guān)注水果是怎么樣長(zhǎng)成的,只需要在超市買就行了
代碼實(shí)現(xiàn)
創(chuàng)建一個(gè)水果接口
/** * * @ClassName: Fruits * @Description: TODO(我們都是農(nóng)村的,自己種的水果,肯定很香,無(wú)公害,城里面水果不敢吃,大部分都是打農(nóng)藥,催熟,膨大劑,美化粉) * @author wangmeng * @date 2021年5月11日 */ public interface Fruits { public void buildFruits(); }
接口實(shí)現(xiàn)
蘋果地
public class Apple implements Fruits { @Override public void buildFruits() { System.out.println("農(nóng)村人套路少,老實(shí),種的蘋果很脆很甜,沒(méi)有化學(xué)物質(zhì),賣的還便宜,付出收獲不成正比"); } }
梨
public class Pear implements Fruits { @Override public void buildFruits() { System.out.println("農(nóng)村人套路少,老實(shí),自家地種的梨很脆很甜,沒(méi)有化學(xué)物質(zhì),而且還特便宜"); } }
超市工廠
// 超市工廠 public class SupermarketFactory { //使用 getFruits 方法獲取水果類型的對(duì)象 // 想吃蘋果就給老板說(shuō),我要買帶諸葛家標(biāo)簽牌子的蘋果,無(wú)公害,就對(duì)了 // 一個(gè)調(diào)用者想創(chuàng)建一個(gè)對(duì)象,只要知道其名稱就可以了。 public Fruits getFruits(String fruitsType){ if(fruitsType == null){ return null; } if(fruitsType.equalsIgnoreCase("Apple")){ return new Apple(); } else if(fruitsType.equalsIgnoreCase("Pear")){ return new Pear(); } return null; } }
使用超市工廠去買諸葛家標(biāo)簽牌子的蘋果
public class Test { public static void main(String[] args) { // 使用該工廠,通過(guò)傳遞類型信息來(lái)獲取實(shí)體類的對(duì)象 SupermarketFactory supermarketFactory= new SupermarketFactory(); Fruits fruits=supermarketFactory.getFruits("Apple"); fruits.buildFruits(); Fruits fruits1=supermarketFactory.getFruits("Pear"); fruits1.buildFruits(); } }
輸出
農(nóng)村人套路少,老實(shí),種的蘋果很脆很甜,沒(méi)有化學(xué)物質(zhì) 農(nóng)村人套路少,老實(shí),自家地種的梨很脆很甜,沒(méi)有化學(xué)物質(zhì),而且還特便宜
總結(jié)
應(yīng)用實(shí)例:
1、您需要一輛汽車,可以直接從工廠里面提貨,而不用去管這輛汽車是怎么做出來(lái)的,以及這個(gè)汽車?yán)锩娴木唧w實(shí)現(xiàn)。
2、Springboot項(xiàng)目,持久層 換數(shù)據(jù)庫(kù)只需換方言和驅(qū)動(dòng)就可以。
優(yōu)點(diǎn):
1、一個(gè)調(diào)用者想創(chuàng)建一個(gè)對(duì)象,只要知道其名稱就可以了。
2、擴(kuò)展性高,如果想增加一個(gè)產(chǎn)品,只要擴(kuò)展一個(gè)工廠類就可以。
3、屏蔽產(chǎn)品的具體實(shí)現(xiàn),調(diào)用者只關(guān)心產(chǎn)品的接口。
缺點(diǎn):
每次增加一個(gè)產(chǎn)品時(shí),都需要增加一個(gè)具體類和對(duì)象實(shí)現(xiàn)工廠,使得系統(tǒng)中類的個(gè)數(shù)成倍增加,在一定程度上增加了系統(tǒng)的復(fù)雜度,同時(shí)也增加了系統(tǒng)具體類的依賴。這并不是什么好事。
到此,關(guān)于“Java的簡(jiǎn)單工廠模式怎么用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。