簡而言之就是:介面產生的全部例項通常用於實現相同介面,介面裡定義了全部例項共同擁有的方法,這些方法在不同的實現類中實現的方式不同,從而使程式呼叫者無須關心方法的具體實現。
接下來,看乙個例子來深入了解一下工廠模式!
//交通工具介面定義
public inte***ce vehicle
該介面定義了vehicle 規範,規範要求實現該介面的類必須具有以下的方法:顯示行駛狀態
下面是v
ehicle
類的乙個實現類:car
//car類實現vehicle介面
public class car implements vehicle
}
下面是v
ehicle
類的另乙個實現類:train
//train類實現vehicle介面
public class train implements vehicle
}
然後再看vehicle工廠的**:
public class vehiclefactory else
} }
以上是最簡單的工廠模式框架,其主程式如下:
public class factorytest
}
使用spring 時,即使沒有工廠類personfactory ,程式一樣可以使用工廠模式, spring完全可以提供所有工廠模式的功能。即在上面的main方法中改動為:
//定義介面的例項
vehicle v = null;
//通過spring上下文獲得car例項
p1 = (vehicle)ctx.getbean("car");
v使用spring 時,即使沒有工廠類personfactory ,程式一樣可以使用工廠模式, spring完全可以提供所有工廠模式的功能。
設計模式 設計模式之工廠模式
工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...
c 設計模式 之 工廠模式之 工廠模式
1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...