日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

创建型模式——工厂模式

發布時間:2023/12/4 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建型模式——工厂模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 實驗目的與要求

1.練習使用工廠模式。設計相關的模擬場景并進行實施,驗證模式特性,掌握其優缺點。
2.實驗結束后,對相關內容進行總結。

二、實驗內容

1.模式應用場景說明

作為一個青年人,最好的伙伴就是手機。而手機最重要的就是手機的CPU。兩家公司Huawei和Apple要尋找一個代工廠。但是由于光刻機數量不足,因此,同一時間只允許有一種類型的CPU進行生產。可以修改外部配置文件,可以控制不同的CPU的生產。

2.應用場景類圖

3.實現代碼與解釋

3.1抽象產品類

package 工廠模式; public interface CPU {public void play(); }

3.2具體產品類HuaweiCPU

package 工廠模式;public class HuaweiCPU implements CPU {@Overridepublic void play() {System.out.println("Huawei的CPU生產中...");} }

3.3具體產品類 AppleCPU

package 工廠模式;public class AppleCPU implements CPU {public void play() {System.out.println("Apple的CPU生產中...");} }

3.4 抽象工廠類CPUFactory

package 工廠模式;public interface CPUFactory {public CPU produceCPU(); }

3.5具體工廠類HuaweiFactory

package 工廠模式;public class HuaweiFactory implements CPUFactory {public CPU produceCPU() {System.out.println("華為手機工廠生產華為CPU");return new HuaweiCPU();} }

3.6具體工廠類AppleFactory

package 工廠模式;public class AppleFactory implements CPUFactory{public CPU produceCPU() {System.out.println("蘋果手機工廠生產蘋果CPU");return new AppleCPU();} }

3.7輔助代碼:獲取外界配置文件的信息

package 工廠模式; import javax.xml.parsers.*; import org.w3c.dom.*; import org.xml.sax.SAXException; import java.io.*; public class XMLUtil { //該方法用于從XML配置文件中提取具體類類名,并返回一個實例對象public static Object getBean(){try{//創建文檔對象DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = dFactory.newDocumentBuilder();Document doc; doc = builder.parse(new File("C:\\Users\\33132\\Desktop\\工廠模式\\工廠模式\\src\\工廠模式\\config.xml")); //獲取包含類名的文本節點NodeList nl = doc.getElementsByTagName("className");Node classNode=nl.item(0).getFirstChild();String cName=classNode.getNodeValue();//通過類名生成實例對象并將其返回Class c=Class.forName("工廠模式."+cName);Object obj=c.newInstance();return obj;} catch(Exception e){e.printStackTrace();return null;}} }

3.8外界配置文件

4.結果及分析

4.1將配置文件節點改成AppleFactory

4.2將配置文件節點改成HuaweiFactory

三、實驗總結

優點:可拓展性好,完全符合“開閉原則”。
缺點:由于考慮到系統的可拓展性,需要引入抽象層,增加了系統抽象性的理解難度。

總結

以上是生活随笔為你收集整理的创建型模式——工厂模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。