博主打算从0-1讲解下java基础教学,今天教学第十四篇:Java中设计模式。
设计模式是解决软件设计中常见问题的可重复利用的解决方案。在 Java 中,常见的设计模式包括单例模式、工厂模式、观察者模式等。目前在基础教学篇中只展示常见的几种模式。
一、 单例模式(Singleton Pattern)
说明:
单例模式确保一个类只有一个实例,并提供全局访问点。
示例代码:
public class Singleton {private static Singleton instance;private Singleton() {}public static Singleton getInstance() {if (instance == null) {instance = new Singleton();}return instance;}
}
二、工厂模式(Factory Pattern)
说明:
工厂模式用于创建对象,隐藏对象创建的具体实现细节。
示例代码:
interface Shape {void draw();
}class Rectangle implements Shape {@Overridepublic void draw() {System.out.println("Drawing rectangle");}
}class Circle implements Shape {@Overridepublic void draw() {System.out.println("Drawing circle");}
}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;}
}
三、观察者模式(Observer Pattern)
说明:
观察者模式定义了对象之间的一对多依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会收到通知并自动更新。
示例代码:
import java.util.ArrayList;
import java.util.List;interface Observer {void update(String message);
}class ConcreteObserver implements Observer {private String name;public ConcreteObserver(String name) {this.name = name;}@Overridepublic void update(String message) {System.out.println(name + " received message: " + message);}
}interface Subject {void attach(Observer observer);void detach(Observer observer);void notifyObservers(String message);
}class ConcreteSubject implements Subject {private List<Observer> observers = new ArrayList<>();@Overridepublic void attach(Observer observer) {observers.add(observer);}@Overridepublic void detach(Observer observer) {observers.remove(observer);}@Overridepublic void notifyObservers(String message) {for (Observer observer : observers) {observer.update(message);}}
}
以上是常见的三种设计模式的详细说明和示例代码。设计模式可以帮助您解决软件设计中的各种问题,并提高代码的可维护性和可扩展性。