色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java工廠模式和單例

周雨萌1年前8瀏覽0評論

Java工廠模式和單例模式是面向?qū)ο缶幊讨薪?jīng)常被使用的設(shè)計模式。

工廠模式是一種創(chuàng)建型設(shè)計模式,它通過向客戶端隱藏對象的創(chuàng)建邏輯,讓客戶端可以通過一個共同的接口來創(chuàng)建新的對象,從而提高代碼的靈活性和可維護性。

/**
 * 定義一個工廠接口
 */
public interface CarFactory {
Car createCar();
}
/**
 * 實現(xiàn)一個具體的工廠類
 */
public class BenzCarFactory implements CarFactory {
@Override
public Car createCar() {
return new BenzCar();
}
}
/**
 * 定義一個汽車接口
 */
public interface Car {
void run();
}
/**
 * 實現(xiàn)具體的汽車類
 */
public class BenzCar implements Car {
@Override
public void run() {
System.out.println("BenzCar is running.");
}
}
/**
 * 客戶端調(diào)用
 */
public class Client {
public static void main(String[] args) {
CarFactory carFactory = new BenzCarFactory();
Car car = carFactory.createCar();
car.run();
}
}

單例模式是一種創(chuàng)建型設(shè)計模式,它能夠確保一個類只有一個實例,并且提供一個全局訪問點,以便其他對象可以訪問該實例。

/**
 * 單例模式的實現(xiàn)
 */
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
/**
 * 客戶端調(diào)用
 */
public class Client {
public static void main(String[] args) {
Singleton instance = Singleton.getInstance();
System.out.println(instance);
Singleton anotherInstance = Singleton.getInstance();
System.out.println(anotherInstance);
System.out.println(instance == anotherInstance);
}
}

通過工廠模式和單例模式的應(yīng)用,我們可以更好地將復(fù)雜的情況進行模塊化和優(yōu)化,提高程序的可維護性和穩(wěn)定性。