設計模式-工廠設計模式
工廠設計模式
工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。之前我們建立類物件時, 都是使用new 物件的形式建立, 除new 物件方式以外, 工廠模式也可以建立物件.
工廠模式的作用
定義一個建立物件的介面,讓其子類自己決定例項化哪一個工廠類,工廠模式使其建立過程延遲到子類進行。可以解決類與類之間耦合的問題.
注意事項
作為一種建立類模式,在任何需要生成複雜物件的地方,都可以使用工廠方法模式。有一點需要注意的地方就是複雜物件適合使用工廠模式,而簡單物件,特別是只需要通過 new 就可以完成建立的物件,無需使用工廠模式。如果使用工廠模式,就需要引入一個工廠類,會增加系統的複雜度。
工廠模式的實現
- 編寫一個Car介面, 提供run方法
- 編寫一個Falali類實現Car介面,重寫run方法
- 編寫一個Benchi類實現Car介面
- 提供一個CarFactory(汽車工廠),用於生產汽車物件
- 定義CarFactoryTest測試汽車工廠
程式碼實現
1.編寫一個Car介面, 提供run方法
public interface Car {
public void run();
}
2.編寫一個Falali類實現Car介面,重寫run方法
public class Falali implements Car {
@Override
public void run() {
System.out.println("法拉利以每小時500公里的速度在奔跑.....");
}
}
3.編寫一個Benchi類實現Car介面
public class Benchi implements Car {
@Override
public void run() {
System.out.println("賓士汽車以每秒1米的速度在挪動.....");
}
}
4.提供一個CarFactory(汽車工廠),用於生產汽車物件
public class CarFactory {
/**
* @param id : 車的標識
* benchi : 代表需要建立Benchi類物件
* falali : 代表需要建立Falali類物件
* 如果傳入的車標識不正確,代表當前工廠生成不了當前車物件,則返回null
* @return
*/
public Car createCar(String id){
if("falali".equals(id)){
return new Falali();
}else if("benchi".equals(id)){
return new Benchi();
}
return null;
}
}
5.定義CarFactoryTest測試汽車工廠
public class CarFactoryTest {
public static void main(String[] args) {
CarFactory carFactory = new CarFactory();
Car benchi = carFactory.createCar("benchi");
benchi.run();
Car falali = carFactory.createCar("falali");
falali.run();
}
}
相關文章
- 設計模式----工廠設計模式設計模式
- 【設計模式】工廠模式設計模式
- 設計模式 —— 工廠模式設計模式
- 設計模式-工廠模式設計模式
- 設計模式(工廠模式)設計模式
- 設計模式——工廠模式設計模式
- 設計模式----工廠模式設計模式
- 設計模式-工廠模式二(工廠方法模式)設計模式
- 一.設計模式之工廠設計模式設計模式
- Java設計模式(工廠方法設計模式)Java設計模式
- 工廠設計模式設計模式
- 設計模式——抽象工廠模式設計模式抽象
- 設計模式 —— 抽象工廠模式設計模式抽象
- PHP設計模式-- 工廠模式PHP設計模式
- 設計模式-抽象工廠模式設計模式抽象
- Java設計模式(工廠模式)Java設計模式
- Java設計模式--工廠模式Java設計模式
- Java 設計模式(工廠模式)Java設計模式
- 設計模式 - 工廠方法模式設計模式
- 設計模式之工廠模式設計模式
- java設計模式 – 工廠模式Java設計模式
- 設計模式 #2 (工廠模式)設計模式
- 設計模式之【工廠模式】設計模式
- 設計模式-工廠方法模式設計模式
- 設計模式~~~工廠方法模式設計模式
- PHP設計模式_工廠模式PHP設計模式
- 設計模式——工廠方法模式設計模式
- 設計模式(四)工廠模式設計模式
- Java設計模式:工廠模式Java設計模式
- 設計模式(三)——工廠模式設計模式
- 【設計模式】工廠方法模式設計模式
- Java設計模式-工廠模式Java設計模式
- 設計模式之工廠方法模式|抽象工廠模式設計模式抽象
- 設計模式-簡單工廠、工廠方法模式、抽象工廠模式設計模式抽象
- 設計模式學習(二)工廠模式——抽象工廠模式設計模式抽象
- Javascript 設計模式之工廠模式JavaScript設計模式
- 設計模式之工廠模式(三)設計模式
- 設計模式之工廠模式(二)設計模式