Java是一門強大的編程語言,它擁有許多特性使得它成為了軟件開發中最受歡迎的語言之一。其中一個重要的特性就是它的設計模式和工廠模式。
設計模式是一套通用的解決問題的方案。它們定義了一個問題的解決方案,并且在軟件開發中被廣泛使用。設計模式是開發人員在開發過程中遇到問題時的指導方針,可以幫助提高代碼的可讀性和可維護性。
public interface Shape { void draw(); } public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); } } public class Square implements Shape { @Override public void draw() { System.out.println("Inside Square::draw() method."); } } public class Circle implements Shape { @Override public void draw() { System.out.println("Inside Circle::draw() method."); } }
工廠模式是一種創建對象的模式。它隱藏了對象的創建細節,并提供了一個單一的接口來創建新的對象。在Java中,工廠模式通常使用工廠類來創建對象。 工廠類負責實例化對象,并返回它們給客戶端。
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; } }
這里是一個簡單的示例,我們創建一個Shape接口,Rectangle、Square、Circle是具體的實現,ShapeFactory是工廠模式中的工廠類。ShapeFactory中有一個getShape接口,通過傳遞形狀或類型信息來獲取具體的實現。
除了這個簡單的示例之外,工廠模式還有許多變種,如抽象工廠模式、單例模式等。這些模式都有著自己的特點和優缺點,在實際應用中需要根據具體情況進行選擇。