設計模式之「工廠模式」

2021-10-04 14:16:19 字數 1278 閱讀 7106

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。

//產品介面

public inte***ce iproduct

//產品實現

public class product implements iproduct

}

//工廠介面

public inte***ce ifactory

//工廠實現

public class factory implements ifactory

}

產品介面:定義產品的規範。

產品實現:實現產品介面中具體類,決定產品在客戶端的具體行為。

工廠介面:工廠方法的核心。規範工廠「產出」的產品。

工廠實現:決定如何例項化產品。

工廠模式是解耦模式,如果需要增加類之間的依賴關係時,可以考慮適用工廠模式。或者當系統需要良好的擴充套件性的時候,也可以考慮工廠模式。

建立乙個電腦類(computer):由顯示器(lcd) 和 主機(host)構成。

**如下

//主機實現**

public class host implements ihost

}//顯示器實現**

public class lcd implements ilcd

}//電腦實現**

public class computer implements icomputer

@override

public void show()

}

若不使用工廠模式:

public class testmain 

}

我們需要乙個個建立例項,然後再組合成乙個電腦。

使用工廠模式後:

public class factory implements ifactory 

}

public class testmain 

}

很明顯,我們不用關心電腦是怎麼建立的,只在用到電腦的時候通過工廠建立出乙個電腦。這樣大大減少了耦合度,對於擴充套件性,如果我們電腦需要其他元件,再在工廠中增加相應的東西的就行了,對於客戶端**無需改動。此**相比於之前的**,靈活性和穩定性都得到了極大的提高。

設計模式 設計模式之工廠模式

工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...

c 設計模式 之 工廠模式之 工廠模式

1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...

設計模式 工廠模式之簡單工廠模式

定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...