Java常用的設計模式之簡單工廠模式

2021-08-24 18:17:11 字數 1868 閱讀 9494

1、概念理解

工廠模式是一種經常被使用到的模式,根據工廠模式實現的類可以通過提供的資料生成一組類中某乙個類的例項,通常這一組類有乙個公共的抽象父類並且實現了相同的方法,但是這些方法針對不同的資料進行了不同的操作。首先需要定義乙個抽象的父類,該類的子類通過不同的方法實現了父類中相同的方法。然後需要定義乙個工廠類,工廠類可以根據條件生成不同的子類例項。當得到子類的例項後,開發人員可以呼叫父類中的方法而不必考慮到底返回的是哪乙個子類的例項。

2、主要作用

1. 應用程式的設計中把物件集中在乙個地方,或者統一由某類來管理,(spring框架);

2. 在不改動應用程式的基礎上,可以直接新增物件,同時也利於物件的維護。

3、應用場合

1. 如果乙個物件擁有很多子類,那麼在建立該物件的子類例項時使用工廠模式是最合適的,不但可以面向介面的程式設計,為開發以及維護帶來方便;

2. 如果建立某個物件時需要進行許多額外的操作,如查詢資料庫然後將查詢到的值賦予要建立的物件(單例初始化時使用比較多),或是需要許多額外的賦值等等。如果檢視jdk原始碼中,會發現許多成員變數在物件構造時,通過工廠方法進行建立的。因為這些成員變數本身的建立也很複雜。不可能建立物件時,在該物件的構造方法裡建立成員變數然後再賦值給該成員變數。而且使用工廠模式也提高了**的重用性。

1、基本構成

有三個角色:乙個抽象產品類,多個具體產品實現類,乙個工廠類。

2、特點

由乙個工廠類去例項化具體的產品。

例項:有乙個汽車介面,有多個汽車實現類,還有乙個汽車管理者(汽車駕駛員),有乙個老闆:

第一步:建立產品抽象類

package ******factory;

/** * 建立產品抽象類:轎車

*/public

inte***ce

car

第二步:建立產品具體實現類

package ******factory;

/** * 建立產品具體實現類:奧迪

*/public

class

audi

implements

car

}

package ******factory;

/** * 建立產品具體實現類:賓士

*/public

class

benz

implements

car

}

package ******factory;

/** * 建立產品具體實現類:寶馬

*/public

class

bmwimplements

car

}

第三步:建立工廠類

package ******factory;

/** * 建立工廠類:司機

*/public

class

driver else

if(carname.equals("benz"))else}}

第四步:建立測試類

package ******factory;

/** * 建立測試類:老闆

Java常用的設計模式 簡單工廠模式

簡單工廠模式 通過分析第一步如下 author 壞小孩 簡單工廠模式 public abstract class inoodles 第二步如下 具體實現 author 壞小孩 麵條的具體實現類之一 public class lznoodles extends inoodles 第三步 另乙個實現 a...

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

簡單工廠設計模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠設計模式是工廠設計模式家族中最簡單實用的模式 我們還是通過例子進行說明 例項場景 假設就是乙個工廠生產phone和tv,他們都有乙個共同的方法working 於是我們定義了乙個統一的介面work,讓其子類實現該介面 inte ce...

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

設計模式之簡單工廠舉例 l 簡單工廠模式概述 又叫靜態工廠方法模式,它定義乙個具體的工廠類負責建立一些類的例項 l 優點 客戶端不需要在負責物件的建立,從而明確了各個類的職責 l 缺點 這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後...