一、簡單工廠模式
public abstract class inoodles
先來乙份蘭州拉麵(具體的產品類):
public class lznoodles extends inoodles
}
程式設計師加班必備也要吃泡麵(具體的產品類):
public class paonoodles extends inoodles
}
還有我最愛吃的家鄉的幹扣面(具體的產品類):
public class gankounoodles extends inoodles
}
準備工作做完了,我們來到一家「簡單麵館」(簡單工廠類),選單如下:
public class ******noodlesfactory
}}
簡單麵館就提供三種麵條(產品),你說你要啥,他就給你啥。這裡我點了乙份幹扣面:
/**
* 簡單工廠模式
*/ inoodles noodles = ******noodlesfactory.createnoodles(******noodlesfactory.type_gk);
noodles.desc();
輸出:
還是家裡的幹扣面好吃 6塊一碗
1 它是乙個具體的類,非介面 抽象類。有乙個重要的create()方法,利用if或者 switch建立產品並返回。
2 create()方法通常是靜態的,所以也稱之為靜態工廠。
1 擴充套件性差(我想增加一種麵條,除了新增乙個麵條產品類,還需要修改工廠類方法)
2 不同的產品需要不同額外引數的時候 不支援。
java設計模式 簡單工廠模式
大話設計模式 第一章 package ch01 public abstract class operation public void setnumbera double numbera public double getnumberb public void setnumberb double n...
java設計模式 簡單工廠模式
簡單工廠模式 所謂的工廠模式就是用乙個類專門來建立物件,建立的類有共同的父類。簡單工廠模式的實質是建立乙個工廠類的方法,通過其引數傳入要建立的類。然後將其建立出來。在簡單工廠模式中,工廠類是整個模式的關鍵,其包含必要的判斷邏輯,能夠根據外界給定的資訊,決定究竟建立哪個類的例項,外界可以不用去關注物件...
java設計模式 簡單工廠模式
1.工廠模式 實現建立者和呼叫者分離。2.分類 1 簡單工廠模式 靜態工廠模式 用來生產同一等級結構中的任意產品。對於新增的產品,需要修改已有的 2 工廠方法模式 用來生產同一等級結構中的的固定產品。支援增加任意產品 3 抽象工廠模式 用來生產不同產品族的全部產品。對於增加新的產品,無能為力 支援增...