設計模式之簡單工廠舉例:
l
簡單工廠模式概述
•
又叫靜態工廠方法模式,它定義乙個具體的工廠類負責建立一些類的例項
l
優點
•
客戶端不需要在負責物件的建立,從而明確了各個類的職責
l
缺點
這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後期的維護
概述:
動物抽象類:
public abstract animal
具體狗類:
public class dog extends animal {}
具體貓類:
public class cat extends animal {}
開始,在測試類中每個具體的內容自己建立物件,但是,建立物件的工作如果比較麻煩,就需要有人專門做這個事情,所以就知道了乙個專門的類來建立物件。
源**:
package 建立型_簡單工廠模式;
public abstract class animal
package 建立型_簡單工廠模式;
public class dog extends animal
}
package 建立型_簡單工廠模式;
public class cat extends animal
}
package 建立型_簡單工廠模式;
//如果你想買狗或者貓,那叫這個工廠類去造出來,你就不用早了
public class animalfactory
//下面寫的static方法,但是也不是很好,因為後面很可能還要加一些方法,比如pig,...
public static dog createdog()
public static cat createcat()
//所以面向介面或抽象程式設計,穿什麼型別就造什麼型別,但是還是有缺陷可能傳入的不能造
public static animal createanimal(string type) else if("cat".equals(type)) else
}}
package 建立型_簡單工廠模式;
public class animalmain else
}}
java設計模式之簡單工廠模式
簡單工廠模式是類的建模式,又叫做靜態工廠方法 static factory method 模式。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。看到這句話相信大家就能理解一點了,就是一些相似的類,通過乙個工廠類給提取出來,這樣再用的時候,可以通過傳入不同的引數,就能獲取相應的類的例項。舉乙...
java設計模式之簡單工廠模式
簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項,然後去呼叫不同的型別的方法的一種設計模式。通常用在多個不同型別的呼叫者,返回相同型別的結果的場景下。如根據不同的人返回不同的許可權等。如本例通過coder geek hacker三種不同的人訪問工廠來返回不同的結果。首先建立介面類,提供所有示...
《JAVA設計模式》之簡單工廠模式
其實對於簡單工廠模式的uml的圖結構如下圖所示 其實我們遇到的情況抽象到具體往往都會不止一層,而是多層,其實這個也是和上面uml圖中情況如法炮製,理解了上面這個,這個就不成問題了。下面我們就來舉例介紹介紹簡單工廠模式的實現。我們可以舉個例子,就以下面的uml圖中來寫 了 結構如下 介面 public...