java設計模式:工廠方法模式

1.工廠方法模式是在簡單模式上的加強,它的factory模式不在是創建對象,而是把工廠抽象化一個接口,在由具體的子類去實現不同的功能.
2.使用場景:
對於某個產品,調用者清楚知道應該使用哪個具體工廠服務,實例化該具體工廠,生產出具體的產品來;只是需要一種產品,對於那個工廠生產的並不關心,最終選用哪個具體工廠由生產者一方決定,它根據當前系統的情況來實例化一個具體的工廠返回給使用者,這個決策過程對於使用者來說是透明的。

3.代碼示例:
//抽象產品
public interface Light{
public void TurnOn();
public void TrunOff();
}
//具體產品
public class BullbLight implements Light{
public void TurnOn(){}
public void TrunOff(){ }
}
//具體產品
public class TubeLight implements Light{
public void TurnOn(){
}

public void TrunOff(){
}

}

//抽象工廠
public interface Creator{
public Light factory();
}
//具體工廠
public class BullbCreator implements Creator{
public Light factory(){
return new BullbLight();
}
}
//具體工廠
public class TubeCreator implements Creator{
public Light factory(){
return new TubeLight();
}
}
//測試
public class Client{
public static void main(String[] args){
Creator create = new BullbCreator();
Light bullbLight = create.factory();
bullbLight.TurnOn();

          Creator create1 = new TubeCreator();
      Light tubebLight = create.factory();
      tubebLight.TurnOn();

   }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章