建立型模式 物件的建立
結構型模式 物件的組成
行為型模式 物件的行為
該模式裡面需要提供乙個類:工廠類(用它製造一些需要的物件)
特點:構造方法私有化,外界不能直接建立它的物件
提供靜態功能,每一種靜態都會產生所需要的物件...
缺點:不利於後期維護
如果新增新的物件,需要建立它的類還需要在靜態工廠類提供一些功能!
定義乙個動物抽象類:
public abstract class animal
定義兩個動物具體類,繼承動物抽象類,重寫裡面的eat()方法
public class cat extends animal
}
public class dog extends animal
}
再建立乙個動物工廠類,提供貓和狗這兩種動物
public class animalfactory
//提供貓和狗這兩種動物
public static animal createanimal(string type) else if("cat".equals(type))else
}}
測試類:
public class animaldemo else
}}
工廠方法模式:
特點:需要提供乙個抽象類,以及每個動物的具體類和介面(工廠介面)
該介面中的抽象方法的返回值是該抽象類
針對每個具體動物都提供一些對應的工廠類--->實現該介面--->返回值就是需要具體的動物物件
弊端:**量大.
定義乙個動物抽象類:
public abstract class animal
定義兩個動物具體類,繼承動物抽象類,重寫裡面的eat()方法
public class cat extends animal
}
public class dog extends animal
}
定義工廠類介面
public inte***ce factory
分別定義cat和dog的工廠類,實現工廠介面
public class catfactory implements factory
}
public class dogfactory implements factory
}
測試類
public class animaldemo
}
定義:在記憶體中始終只有乙個物件
餓漢式特點:當前某乙個一載入,就會建立乙個物件
需要將該類的無參構造私有化
在成員變數建立該類的例項
需要提供公共的訪問方法(實際開發中使用這種方式)
懶漢式特點:並不是載入某個類就直接建立物件,而是需要的時候在建立物件
1)懶載入(延遲載入)
2)執行緒的安全問題
執行緒安全問題檢驗標準:
a:是否是多執行緒環境
b:是否有共享資料
c:是否有多條語句對共享資料進行操作!
使用同步**塊或同步方法(synchronized)進行解決
餓漢式:
public class student
//在成員變數的位置建立該類的例項
//靜態只能訪問靜態,所以需要加上靜態修飾
//為了不讓外界修改當前這個例項,所以加入private修飾
private static student s = new student();
public static student getstudent()
public class studentdemo
}
懶漢式:
public class teacher
//在成員變數位置宣告變數
private static teacher t = null ; //共享資料
//提供公共的方法訪問
public synchronized static teacher getteacher()
return t ;
}}
public class teacherdemo
}
面試題:簡單闡述下單例模式有幾種,並且寫出乙個單例模式**!(寫懶漢式),
就想問你能否想到懶漢式中多執行緒的安全問題...
如果是開發中,使用單例模式,那麼使用的 --->餓漢式(不會出現問題的單例模式)
如果是面試中,使用單例模式,----->懶漢式(想問你能否想到懶漢式中多執行緒的安全問題以及解決辦法)
php幾種設計模式
class signle return static instance public function test class observer 執行觀察者 public function observer type public function create 呼叫 ob new observer ...
java設計模式
a categorization of patterns by intent intent patterns inte ces adapter,facade,composite,bridge responsibility singleton,observer,mediator,proxy,chain...
JAVA設計模式
設計模式 設計模式分類 設計模式分為三類,建立型模式,結構型模式,行為型模式 建立型模式 1 工廠方法模式 2 抽象工廠模式 3 單例模式 4 建造者模式 5 原型模式 結構型模式 1 介面卡模式 2 裝飾器模式 3 模式 4 外觀模式 5 橋接模式 6 組合模式 7 享元模式 行為型模式 1 策略...