中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

太原營銷網(wǎng)站建設(shè)制作平臺(tái)網(wǎng)站監(jiān)測(cè)

太原營銷網(wǎng)站建設(shè)制作平臺(tái),網(wǎng)站監(jiān)測(cè),東莞網(wǎng)站制作培訓(xùn)多少錢,ps做網(wǎng)站顯示內(nèi)容參考什么是工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式。 工廠模式提供了一種將對(duì)象的實(shí)例化過程封裝在工廠類中的方式。通過使用工廠模式&#xff…

什么是工廠模式

工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式。

工廠模式提供了一種將對(duì)象的實(shí)例化過程封裝在工廠類中的方式。通過使用工廠模式,可以將對(duì)象的創(chuàng)建與使用代碼分離,提供一種統(tǒng)一的接口來創(chuàng)建不同類型的對(duì)象。

在工廠模式中,我們?cè)趧?chuàng)建對(duì)象時(shí)不會(huì)對(duì)客戶端暴露創(chuàng)建邏輯,并且是通過使用一個(gè)共同的接口來指向新創(chuàng)建的對(duì)象。

工廠模式解決什么問題

通過定義一個(gè)創(chuàng)建對(duì)象的接口,讓其子類自己決定實(shí)例化哪一個(gè)工廠類,工廠模式使其創(chuàng)建過程延遲到子類進(jìn)行。

主要解決接口選擇的問題。

優(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)具體類的依賴。這并不是什么好事。

工廠模式包含以下幾個(gè)核心角色

  • 抽象產(chǎn)品(Abstract Product):定義了產(chǎn)品的共同接口或抽象類。它可以是具體產(chǎn)品類的父類或接口,規(guī)定了產(chǎn)品對(duì)象的共同方法。
  • 具體產(chǎn)品(Concrete Product):實(shí)現(xiàn)了抽象產(chǎn)品接口,定義了具體產(chǎn)品的特定行為和屬性。
  • 抽象工廠(Abstract Factory):聲明了創(chuàng)建產(chǎn)品的抽象方法,可以是接口或抽象類。它可以有多個(gè)方法用于創(chuàng)建不同類型的產(chǎn)品。
  • 具體工廠(Concrete Factory):實(shí)現(xiàn)了抽象工廠接口,負(fù)責(zé)實(shí)際創(chuàng)建具體產(chǎn)品的對(duì)象。

示例

創(chuàng)建一個(gè)接口

public interface Fruit {void name();
}

創(chuàng)建實(shí)現(xiàn)接口的實(shí)體類

public class Apple implements Fruit{@Overridepublic void name(){System.out.println("我是蘋果");}
}
public class Orange implements Fruit{@Overridepublic void name() {System.out.println("我是橘子");}
}

創(chuàng)建一個(gè)工廠,生成基于給定信息的實(shí)體類的對(duì)象

public class FruitFactor {public static Fruit getFruit(String fruit){if (fruit.equals("蘋果")){return new Apple();}else if (fruit.equals("橘子")){return new Orange();}else {return null;}}
}

使用該工廠,通過傳遞類型信息來獲取實(shí)體類的對(duì)象

public class Consumer {public static void main(String[] args) {FruitFactor fruitFactor = new FruitFactor();Fruit fruit1 = fruitFactor.getFruit("蘋果");fruit1.name();Fruit fruit2 = fruitFactor.getFruit("橘子");fruit2.name();}
}

http://www.risenshineclean.com/news/30573.html

相關(guān)文章:

  • 學(xué)網(wǎng)站開發(fā)培訓(xùn)班seo為什么要進(jìn)行外部優(yōu)化
  • 網(wǎng)站建設(shè)源代碼上傳百度網(wǎng)頁怎么制作
  • 企業(yè)網(wǎng)站制作簡介bt螞蟻
  • 深圳網(wǎng)絡(luò)公司做網(wǎng)站臺(tái)州網(wǎng)站seo
  • 一對(duì)一直播軟件開發(fā)夫唯老師seo
  • 購物網(wǎng)站最重要的功能我要登錄百度
  • 保定哪做網(wǎng)站好企業(yè)查詢信息平臺(tái)
  • 做網(wǎng)站切圖網(wǎng)址怎么申請(qǐng)注冊(cè)
  • 黃山做網(wǎng)站公司關(guān)鍵詞搜索神器
  • 建網(wǎng)站比較靠譜的公司新媒體營銷推廣方案
  • 泰安網(wǎng)站制作服務(wù)2000元代理微信朋友圈廣告
  • 更改wordpress主題百度關(guān)鍵詞優(yōu)化多久上首頁
  • 專門做二手書網(wǎng)站或app百度云搜索引擎入口網(wǎng)盤搜索神器
  • 國外做燈的網(wǎng)站市場(chǎng)推廣方案
  • 怎么引導(dǎo)做淘寶的客戶做官方網(wǎng)站唐山seo排名優(yōu)化
  • 做畢業(yè)設(shè)計(jì)網(wǎng)站的步驟怎么把網(wǎng)站排名排上去
  • 網(wǎng)站維護(hù)包括深圳企業(yè)網(wǎng)站制作公司
  • 全國互聯(lián)網(wǎng)安全管理服務(wù)平臺(tái)seo免費(fèi)推廣軟件
  • 社交媒體 網(wǎng)站網(wǎng)址seo關(guān)鍵詞
  • 福安網(wǎng)站定制怎么樣推廣自己的店鋪和產(chǎn)品
  • 外國電商設(shè)計(jì)網(wǎng)站有哪些品牌策劃設(shè)計(jì)
  • 我想在鄭卅淘寶網(wǎng)站做客服怎么做寧波seo服務(wù)推廣
  • 南昌手機(jī)網(wǎng)站建設(shè)找資源
  • php網(wǎng)站開發(fā)案例教程廣告聯(lián)盟app下載官網(wǎng)
  • 上海做網(wǎng)站 公司排名視頻號(hào)排名優(yōu)化帝搜軟件
  • 做網(wǎng)站要多少錢呀產(chǎn)品推廣步驟
  • 泰達(dá)建設(shè)集團(tuán)網(wǎng)站廈門最快seo
  • 免費(fèi)域名建站鄭州網(wǎng)站推廣電話
  • 服務(wù)好的網(wǎng)站制作鄭州seo排名優(yōu)化
  • 定制網(wǎng)站建設(shè)公司費(fèi)用搜狗收錄查詢