這篇文章主要介紹“Java的簡(jiǎn)單工廠模式怎么用”,在日常操作中,相信很多人在Java的簡(jiǎn)單工廠模式怎么用問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Java的簡(jiǎn)單工廠模式怎么用”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、軟文平臺(tái)等專(zhuān)業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專(zhuān)業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
簡(jiǎn)單工廠模式
簡(jiǎn)單工廠模式是屬于創(chuàng)建型模式,是工廠模式的一種。 簡(jiǎn)單工廠模式是由一個(gè)工廠對(duì)象決定創(chuàng)建出哪一 種產(chǎn)品類(lèi) 的實(shí)例。簡(jiǎn)單工廠模式是工廠模式家族中最簡(jiǎn)單實(shí)用的模式
簡(jiǎn)單工廠模式:定義了一個(gè)創(chuàng)建對(duì)象的類(lèi),由這個(gè)類(lèi)來(lái) 封裝實(shí)例化對(duì)象的行為(代碼)
在軟件開(kāi)發(fā)中,當(dāng)我們會(huì)用到大量的創(chuàng)建某種、某類(lèi)或者某批對(duì)象時(shí),就會(huì)使用到工廠模式.
舉個(gè)例子
我家是農(nóng)村的,我老爸老媽就是個(gè)農(nóng)民種水果的,地里面有蘋(píng)果,梨,葡萄等,你們這些城里娃,想吃新鮮水果怎么辦呢?你們只能也只能去超市買(mǎi)了,這時(shí)候這個(gè)超市就相當(dāng)于一個(gè)工廠了,客戶(hù)不需要關(guān)注水果是怎么樣長(zhǎng)成的,只需要在超市買(mǎi)就行了
代碼實(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)
蘋(píng)果地
public class Apple implements Fruits { @Override public void buildFruits() { System.out.println("農(nóng)村人套路少,老實(shí),種的蘋(píng)果很脆很甜,沒(méi)有化學(xué)物質(zhì),賣(mài)的還便宜,付出收獲不成正比"); } }
梨
public class Pear implements Fruits { @Override public void buildFruits() { System.out.println("農(nóng)村人套路少,老實(shí),自家地種的梨很脆很甜,沒(méi)有化學(xué)物質(zhì),而且還特便宜"); } }
超市工廠
// 超市工廠 public class SupermarketFactory { //使用 getFruits 方法獲取水果類(lèi)型的對(duì)象 // 想吃蘋(píng)果就給老板說(shuō),我要買(mǎi)帶諸葛家標(biāo)簽牌子的蘋(píng)果,無(wú)公害,就對(duì)了 // 一個(gè)調(diào)用者想創(chuàng)建一個(gè)對(duì)象,只要知道其名稱(chēng)就可以了。 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; } }
使用超市工廠去買(mǎi)諸葛家標(biāo)簽牌子的蘋(píng)果
public class Test { public static void main(String[] args) { // 使用該工廠,通過(guò)傳遞類(lèi)型信息來(lái)獲取實(shí)體類(lèi)的對(duì)象 SupermarketFactory supermarketFactory= new SupermarketFactory(); Fruits fruits=supermarketFactory.getFruits("Apple"); fruits.buildFruits(); Fruits fruits1=supermarketFactory.getFruits("Pear"); fruits1.buildFruits(); } }
輸出
農(nóng)村人套路少,老實(shí),種的蘋(píng)果很脆很甜,沒(méi)有化學(xué)物質(zhì) 農(nóng)村人套路少,老實(shí),自家地種的梨很脆很甜,沒(méi)有化學(xué)物質(zhì),而且還特便宜
總結(jié)
應(yīng)用實(shí)例:
1、您需要一輛汽車(chē),可以直接從工廠里面提貨,而不用去管這輛汽車(chē)是怎么做出來(lái)的,以及這個(gè)汽車(chē)?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ì)象,只要知道其名稱(chēng)就可以了。
2、擴(kuò)展性高,如果想增加一個(gè)產(chǎn)品,只要擴(kuò)展一個(gè)工廠類(lèi)就可以。
3、屏蔽產(chǎn)品的具體實(shí)現(xiàn),調(diào)用者只關(guān)心產(chǎn)品的接口。
缺點(diǎn):
每次增加一個(gè)產(chǎn)品時(shí),都需要增加一個(gè)具體類(lèi)和對(duì)象實(shí)現(xiàn)工廠,使得系統(tǒng)中類(lèi)的個(gè)數(shù)成倍增加,在一定程度上增加了系統(tǒng)的復(fù)雜度,同時(shí)也增加了系統(tǒng)具體類(lèi)的依賴(lài)。這并不是什么好事。
到此,關(guān)于“Java的簡(jiǎn)單工廠模式怎么用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!