久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

設計模式 – 工廠模式

  • 工廠方法模式一種創建對象的模式,它被廣泛應用在jdk中以及Spring和Struts框架中;
  • 工廠方法模式基于”輸入”,應用在超類和多個子類之間的情況,這種模式將創建對象的責任轉移到工廠類;
  • 首先讓我們學習一下如何在Java中應用工廠方法模式并且學習到工廠方法的優點,另外工廠方法模式也廣泛應用在jdk中;
  • 超類可以是接口、抽象類、父類,本例中將通過重寫 toString() 方法來解釋工廠方法模式;

實例

package com.journaldev.design.model; public abstract class Computer { public abstract String getRAM(); public abstract String getHDD(); public abstract String getCPU(); @Override public String toString(){ return "RAM= "+this.getRAM()+", HDD="+this.getHDD()+", CPU="+this.getCPU(); } }

工廠設計模式子類

假設子類 PC 和 Server 實現了 Computer:

實例

package com.journaldev.design.model; public class PC extends Computer { private String ram; private String hdd; private String cpu; public PC(String ram, String hdd, String cpu){ this.ram=ram; this.hdd=hdd; this.cpu=cpu; } @Override public String getRAM() { return this.ram; } @Override public String getHDD() { return this.hdd; } @Override public String getCPU() { return this.cpu; } }

Server 也實現了 Computer:

實例

package com.journaldev.design.model; public class Server extends Computer { private String ram; private String hdd; private String cpu; public Server(String ram, String hdd, String cpu){ this.ram=ram; this.hdd=hdd; this.cpu=cpu; } @Override public String getRAM() { return this.ram; } @Override public String getHDD() { return this.hdd; } @Override public String getCPU() { return this.cpu; } }

工廠類

現在有了多個子類和超類,接下來可以創建工廠類了:

實例

package com.journaldev.design.factory; import com.journaldev.design.model.Computer; import com.journaldev.design.model.PC; import com.journaldev.design.model.Server; public class ComputerFactory { public static Computer getComputer(String type, String ram, String hdd, String cpu){ if("PC".equalsIgnoreCase(type)) return new PC(ram, hdd, cpu); else if("Server".equalsIgnoreCase(type)) return new Server(ram, hdd, cpu); return null; } }

需要重點指出的是:

  • 工廠類可以是單例的,getComputer 可以是靜態的;
  • getComputer 是工廠類的方法,且基于相同的參數類型返回了不同的對象;

設計模式 – 工廠模式

接下來是一個簡單的測試客戶端程序,它使用上面的工廠設計模式實現。

實例

package com.journaldev.design.test; import com.journaldev.design.abstractfactory.PCFactory; import com.journaldev.design.abstractfactory.ServerFactory; import com.journaldev.design.factory.ComputerFactory; import com.journaldev.design.model.Computer; public class TestFactory { public static void main(String[] args) { Computer pc = ComputerFactory.getComputer("pc","2 GB","500 GB","2.4 GHz"); Computer server = ComputerFactory.getComputer("server","16 GB","1 TB","2.9 GHz"); System.out.println("Factory PC Config::"+pc); System.out.println("Factory Server Config::"+server); } }

輸出:

Factory PC Config::RAM= 2 GB, HDD=500 GB, CPU=2.4 GHz  Factory Server Config::RAM= 16 GB, HDD=1 TB, CPU=2.9 GHz

工廠設計模式的優點

  • 面向接口編程,體現了面向對象的思想;
  • 將創建對象的工作轉移到了工廠類;

JDK 中的工廠設計模式實例

  • java.util.Calendar, ResourceBundle and NumberFormat getInstance() 使用了工廠方法模式;
  • valueOf() 在包裝類中,如Boolean, Integer 也使用了工廠方法模式;

譯文:https://www.jianshu.com/p/5d52e9ce7358

原文:https://www.journaldev.com/1392/factory-design-pattern-in-java

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
麻豆成全视频免费观看在线看| 午夜性色一区二区三区免费视频| 日韩精品影视| 日韩视频在线一区二区三区 | 久久高清免费| 亚洲一级高清| 91精品精品| 奇米狠狠一区二区三区| 日韩成人精品一区二区| 亚洲第一区色| 国产精品久久免费视频| 日韩一区精品字幕| 国产精品毛片| 免费污视频在线一区| 免费成人在线观看| 国产亚洲毛片| 精品一区二区三区视频在线播放| 91精品成人| 亚洲欧美日本日韩| 日本少妇精品亚洲第一区| 久久亚洲专区| 日韩专区一卡二卡| 亚洲一级少妇| 国产传媒在线观看| 97久久亚洲| 亚洲精选av| 日本午夜精品视频在线观看| 国产三级一区| 成人国产精品久久| 欧美精品一区二区三区精品| 亚洲资源av| 久久不见久久见国语| 精品视频黄色| 99pao成人国产永久免费视频| 在线日韩视频| 国产午夜精品一区在线观看| 综合激情五月婷婷| 日韩一区二区在线免费| 久久精品三级| 最新亚洲国产| av资源新版天堂在线| 欧美日韩免费观看视频| 久久国内精品自在自线400部| 亚洲欧美成人综合| 国产韩日影视精品| 桃色一区二区| 国产精品videossex久久发布 | 日韩午夜视频在线| 91成人在线精品视频| 欧美国产先锋| 午夜av一区| 婷婷综合亚洲| 老牛国内精品亚洲成av人片| 欧美一区成人| 91综合久久爱com| 亚洲深深色噜噜狠狠爱网站| 蜜臀av一区二区在线免费观看| 国产精品腿扒开做爽爽爽挤奶网站| 日韩中文视频| 国产精品一区2区3区| 国产精品观看| 国产一区二区亚洲| 欧美韩日一区| 99热精品久久| 亚洲一区有码| 国产美女精品视频免费播放软件| 日韩专区欧美专区| 欧美日韩尤物久久| 欧美69视频| 天海翼亚洲一区二区三区| 国产精品男女| 国产资源在线观看入口av| 日韩精品亚洲专区在线观看| 久久中文字幕二区| 欧美精品不卡| 欧美日韩91| 美日韩精品视频| 啪啪国产精品| 欧美日韩国产亚洲一区| 影视先锋久久| 婷婷精品进入| 国产精品地址| 日韩精品欧美| 日韩精品欧美成人高清一区二区| 国产精品伊人| 久久亚洲图片| 麻豆高清免费国产一区| 99久久亚洲精品| 97国产成人高清在线观看| 亚洲国产专区校园欧美| 国产精品三p一区二区| 日韩av午夜在线观看| 亚洲日产av中文字幕| 三级精品视频| 麻豆一区二区在线| 成人日韩在线| 久久久久久久久久久9不雅视频| 久久久成人网| 亚洲无线观看| 亚洲欧美日韩精品一区二区| 精品一区二区三区中文字幕 | 久久xxxx精品视频| 精品国产一区二区三区2021| 亚洲三级在线| 国产亚洲欧美日韩精品一区二区三区 | 欧美午夜精品一区二区三区电影| 日韩中文av| 麻豆精品久久| 亚洲网址在线观看| 亚州国产精品| 亚洲在线观看| 一区二区精品伦理...| 国产真实久久| 夜夜嗨av一区二区三区网站四季av| 中文字幕在线视频久| 在线亚洲人成| 欧美日韩免费观看视频| 日韩中文字幕区一区有砖一区| 欧美一区成人| 亚洲乱码一区| 日韩激情一区二区| 亚洲香蕉视频| 亚洲免费福利一区| 日韩视频中文| 午夜久久福利| 99精品网站| 免费在线观看一区二区三区| 亚洲综合婷婷| 国产情侣一区| 亚洲欧美日韩视频二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 一区二区三区四区精品视频| 日韩国产精品久久久| 久久久久蜜桃| av综合电影网站| 毛片不卡一区二区| 国产精品日韩精品中文字幕| 蜜臀av一区二区三区| 欧美二区视频| 国产欧美激情| 水蜜桃久久夜色精品一区| 国产不卡人人| 欧美日韩一区二区高清| 亚洲精品影视| 精品资源在线| 在线一区免费观看| 日本不卡一二三区黄网| 成人一区而且| 亚洲欧美日本国产| 精品美女在线视频| 国产精品普通话对白| 日韩1区2区| 悠悠资源网久久精品| 日韩精品亚洲aⅴ在线影院| 精品亚洲a∨| 色爱综合av| 精品精品99| 免费精品视频| 亚洲精品无播放器在线播放| 涩涩涩久久久成人精品| 久久激情五月婷婷| 麻豆成人91精品二区三区| 亚洲制服少妇| 国产中文一区| 国产精品专区免费| 国产剧情一区二区在线观看| 巨乳诱惑日韩免费av| 久久av导航| 欧美日韩亚洲一区在线观看| 免费精品国产的网站免费观看| 亚洲美女91| 国产传媒av在线| 国产精品久久久久久久免费观看| 欧美天堂一区二区| 国产精品一区二区三区av| 日韩免费精品| 国产精品一区二区美女视频免费看 | 日韩成人三级| av免费不卡国产观看| 日本精品在线中文字幕| 久久久久免费av| 激情久久中文字幕| 久久精品 人人爱| 亚洲专区一区| 蜜桃久久精品一区二区| 日av在线不卡| 日韩午夜免费| 伊人成人在线视频| 国产专区一区| 国产高清日韩| 久久亚洲在线| av资源新版天堂在线| 老司机免费视频一区二区三区| 亚洲精品永久免费视频| 老鸭窝毛片一区二区三区| 日韩精品第一| 成午夜精品一区二区三区软件| 六月婷婷一区| 亚洲精品系列| 91福利精品在线观看|