Java設計模式是Java編程中的重要話題之一,它有助于開發人員通過可復用的代碼構建更好的軟件。本文將介紹常用的Java設計模式,同時提供學習建議。
1. 單例模式
public class Singleton { private static Singleton instance; private Singleton(){} public static synchronized Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; } }
單例模式是最常用的設計模式之一,它僅允許創建一個對象實例,可以在需要時輕松訪問該實例。
2. 工廠模式
public interface Shape { void draw(); } public class Rectangle implements Shape { @Override public void draw() { System.out.println("Rectangle: draw() method."); } } public class Circle implements Shape { @Override public void draw() { System.out.println("Circle: draw() method."); } } public class ShapeFactory { public Shape getShape(String shapeType){ if(shapeType == null){ return null; } if(shapeType.equalsIgnoreCase("RECTANGLE")){ return new Rectangle(); } else if(shapeType.equalsIgnoreCase("CIRCLE")){ return new Circle(); } return null; } }
工廠模式是一個創建對象的模式,將對象實例化的代碼從主要業務邏輯中分離出來。
3. 觀察者模式
public interface Observer { void update(String message); } public interface Subject { ArrayListobservers = new ArrayList<>(); void attach(Observer observer); void detach(Observer observer); void notifyObservers(String message); } public class MessagePublisher implements Subject { @Override public void attach(Observer observer) { observers.add(observer); } @Override public void detach(Observer observer) { observers.remove(observer); } @Override public void notifyObservers(String message) { for(Observer observer: observers) { observer.update(message); } } } public class MessageSubscriberOne implements Observer { @Override public void update(String message) { System.out.println("MessageSubscriberOne: " + message); } } public class MessageSubscriberTwo implements Observer { @Override public void update(String message) { System.out.println("MessageSubscriberTwo: " + message); } }
觀察者模式定義了一種一對多的依賴關系,當對象改變狀態時,所有依賴于它的對象都會得到通知。
學習建議:
掌握Java設計模式需要深入學習Java語言的基礎知識和軟件設計原則。可以閱讀相關書籍和文章,同時實踐代碼并思考如何應用到實際項目中。在開發中,經常重構和修改代碼,以適應新的需求和流程。