java設計模式 – 工廠模式
工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。
在工廠模式中,我們在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用一個共同的介面來指向新建立的物件
步驟 1
建立一個介面:
public interface Shape {
void draw();
}
步驟 2
建立實現介面的實體類。
public class Rectangle implements Shape {
@Override//Rectangle子類
public void draw() {
System.out.println("Inside Rectangle::draw() method.");
}
}
public class Square implements Shape {
@Override//Square子類
public void draw() {
System.out.println("Inside Square::draw() method.");
}
}
public class Circle implements Shape {
@Override//Circle子類
public void draw() {
System.out.println("Inside Circle::draw() method.");
}
}
步驟 3
建立一個工廠,生成基於給定資訊的實體類的物件。
public class ShapeFactory {
//使用 getShape 方法獲取形狀型別的物件
public Shape getShape(String shapeType){
if(shapeType == null){
return null;
}
if(shapeType.equalsIgnoreCase("CIRCLE")){
return new Circle();
} else if(shapeType.equalsIgnoreCase("RECTANGLE")){
return new Rectangle();
} else if(shapeType.equalsIgnoreCase("SQUARE")){
return new Square();
}
return null;
}
}
步驟 4
使用該工廠,通過傳遞型別資訊來獲取實體類的物件。
public class FactoryPatternDemo {
public static void main(String[] args) {
ShapeFactory shapeFactory = new ShapeFactory();
//獲取 Circle 的物件,並呼叫它的 draw 方法
Shape shape1 = shapeFactory.getShape("CIRCLE");
//呼叫 Circle 的 draw 方法
shape1.draw();
//獲取 Rectangle 的物件,並呼叫它的 draw 方法
Shape shape2 = shapeFactory.getShape("RECTANGLE");
//呼叫 Rectangle 的 draw 方法
shape2.draw();
//獲取 Square 的物件,並呼叫它的 draw 方法
Shape shape3 = shapeFactory.getShape("SQUARE");
//呼叫 Square 的 draw 方法
shape3.draw();
}
}
步驟 5
執行程式,輸出結果:
Inside Circle::draw() method.
Inside Rectangle::draw() method.
Inside Square::draw() method.
應用:解耦程式碼,(BeanFactory 用來建立物件的例項,貫穿於 BeanFactory / ApplicationContext介面的核心理念)
相關文章
- Java設計模式(工廠模式)Java設計模式
- Java設計模式--工廠模式Java設計模式
- Java 設計模式(工廠模式)Java設計模式
- java設計模式-工廠模式Java設計模式
- Java設計模式:工廠模式Java設計模式
- Java設計模式之工廠模式Java設計模式
- java設計模式–抽象工廠模式Java設計模式抽象
- java設計模式-工廠方法模式Java設計模式
- Java設計模式-抽象工廠模式Java設計模式抽象
- Java設計模式(工廠方法設計模式)Java設計模式
- Java 設計模式之工廠方法模式與抽象工廠模式Java設計模式抽象
- Java設計模式之工廠方法模式Java設計模式
- Java設計模式之(二)——工廠模式Java設計模式
- java設計模式-簡單工廠模式Java設計模式
- Java設計模式(二):工廠方法模式Java設計模式
- java設計模式之一 工廠模式Java設計模式
- Java設計模式之工廠模式(Factory)Java設計模式
- Java設計模式3:工廠方法模式Java設計模式
- 設計模式-工廠模式二(工廠方法模式)設計模式
- Java設計模式模式 (包括工廠模式xml解析)Java設計模式XML
- JAVA設計模式 3【建立型】理解工廠模式與抽象工廠模式Java設計模式抽象
- Java設計模式學習筆記——工廠模式與抽象工廠模式Java設計模式筆記抽象
- 【設計模式】工廠模式設計模式
- 設計模式 —— 工廠模式設計模式
- 設計模式-工廠模式設計模式
- 設計模式(工廠模式)設計模式
- 設計模式——工廠模式設計模式
- 設計模式----工廠模式設計模式
- 設計模式-簡單工廠、工廠方法模式、抽象工廠模式設計模式抽象
- 設計模式----工廠設計模式設計模式
- 設計模式-工廠設計模式設計模式
- 設計模式之工廠方法模式|抽象工廠模式設計模式抽象
- 3.java設計模式之工廠模式Java設計模式
- Java常用設計模式之工廠方法模式Java設計模式
- Java常用設計模式之抽象工廠模式Java設計模式抽象
- 我的Java設計模式-工廠方法模式Java設計模式
- 淺識JAVA設計模式——工廠模式(一)Java設計模式
- Java設計模式學習三-----工廠模式Java設計模式