五種設(shè)計(jì)模式j(luò)ava 三種設(shè)計(jì)模式j(luò)ava
Kilimall非洲購(gòu)賣家服務(wù)2025-06-096470
設(shè)計(jì)模式是解決特定問(wèn)題的最佳實(shí)踐和解決方案,以下是五種常見(jiàn)的Java設(shè)計(jì)模式:
- 單例模式(Singleton Pattern):確保一個(gè)類只有一個(gè)實(shí)例,并提供全局訪問(wèn)點(diǎn)。
public class Singleton {
private static Singleton instance = null;
private Singleton() {}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
- 工廠模式(Factory Pattern):創(chuàng)建對(duì)象,而不是直接使用new操作符。
interface ICar {
void drive();
}
class Car implements ICar {
@Override
public void drive() {
System.out.println("駕駛汽車");
}
}
class CarFactory {
public static Car createCar() {
return new Car();
}
}
- 觀察者模式(Observer Pattern):當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生變化時(shí),通知所有依賴該狀態(tài)的對(duì)象。
interface Observer {
void update(String message);
}
class ConcreteObserver implements Observer {
@Override
public void update(String message) {
System.out.println("收到消息:" + message);
}
}
class Subject {
private List<Observer> observers = new ArrayList<>();
public void addObserver(Observer observer) {
observers.add(observer);
}
public void removeObserver(Observer observer) {
observers.remove(observer);
}
public void notifyObservers() {
for (Observer observer : observers) {
observer.update("主題狀態(tài)變化");
}
}
}
- 裝飾器模式(Decorator Pattern):動(dòng)態(tài)地給一個(gè)對(duì)象添加額外的職責(zé)或功能。
abstract class BaseClass {
// 抽象基類
}
class ConcreteClass extends BaseClass {
// 具體實(shí)現(xiàn)
}
class Decorator extends ConcreteClass {
// 裝飾器類
}
class ConcreteDecorator extends Decorator {
// 具體裝飾器實(shí)現(xiàn)
}
- 適配器模式(Adapter Pattern):將一個(gè)類的接口轉(zhuǎn)換成另一個(gè)接口,使得原本接口不兼容的類可以一起工作。
interface Adapter {
void performAction();
}
class OriginalClass {
// 原始類
}
class AdapterClass implements Adapter {
@Override
public void performAction() {
System.out.println("執(zhí)行原始類的操作");
}
}
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。