提供乙個能夠建立具有所需要的功能類的例項物件,而無需關心其內部是如何實現的,被建立的例項物件的型別可以是介面、抽象類或具體實現類。
api:即所需要的所有功能介面
impl:api的具體實現類,可以有多個
factory:工廠類,用於建立所需要的api的例項物件
client:通過factory來獲取所需要的api的例項物件
public inte***ce api
public class impla implements api
}public class implb implements api
}/**
* @classname:factory
* @description:工廠類
*/public class factory
//將建立例項物件的**邏輯提取出來並放在乙個private方法中,可以提高隱蔽性
private static api createapi(int condition)else }}
public class client
}
1. 為何建議使用介面或抽象類來作為api部分:介面或者說抽象類不變,那麼其實現類的內部方法的變化不會影響到外部的應用,這就對於應用程式帶來了良好的擴充套件性和可維護性。
2. api部分對於介面和抽象類的選擇:首選介面作為api,如果api中有子類需要實現的公共的功能(方法中的邏輯**相同),那麼就選擇抽象類
3. 如果過有多個impl,在client中選擇具體impl的方法:可以通過傳入方法引數來確定具體是哪乙個,也可以通過配置檔案來決定
設計模式學習 簡單工廠模式
今天把專案都做完後,就開始繼續學設計模式。剛看了簡單的工廠模式,感覺之前對物件導向這個概念實在是太淺了,在我的觀念中,一直認為程式只要能執行,沒有bug就是成功的,但是看了設計模式之後,發現原來的觀念實在是太表面化了,沒有深入的理解物件導向這個概念。我是看了 大話設計模式 這本書開始學的,感覺講的簡...
設計模式學習 簡單工廠模式
建立抽象產品類,定義所有產品的公共介面。建立具體產品類,繼承於產品抽象類,建立工廠類,在內部定義靜態方法,生產每個具體產品類的例項。外部通過呼叫工廠類的靜態方法,並傳入引數來得到所需的產品。某玩具工廠同時接到了三個不同客戶的訂單,需要生產一批玩具汽車 玩具飛機 玩具火車。於是工廠開設三條流水線進行生...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...