工廠方法模式:定義了一個創建對象的接口,但由子類解決要實例化的是哪一個。工廠方法讓類把實例化推遲到子類。 工廠方法,將產品的“實現”從“使用”中解耦。
oo設計中遵循的原則,實現依賴倒置:
1、變量不可以持有具體類的引用
2、不要讓類派生自具體類
3、不要覆蓋基類中已實現的方法
抽象工廠模式:提供了一個接口,用於創建相關或依賴對象的家族,而不需要明確指定具體類。
單件模式(singleton pattern):用來創建獨一無二的,只能有一個實例的對象的入場卷。確保一個類只有一個實例,並提供一個全局的訪問點。
public class singleton{
private static Singleton uniqueInstance;
private Singleton(){}
public static synchronized Singleton getInstance(){
if(uniqueInstance==null){
uniqueInstance=new Singleton();
}
return uniqueInstance;
}
}
使用synchronized使應用的性能降低,但是能確保線程的安全。但是可以通過如下的方式解決:依賴JVM在加載類的時候馬上創建此唯一的單件實例。
public class singleton{
private static Singleton uniqueInstance=newSingleton();
private Singleton(){}
public static Singleton getInstance(){
return uniqueInstance;
}
}