1. 程式人生 > >設計模式簡單工廠、工廠方法、抽象工廠

設計模式簡單工廠、工廠方法、抽象工廠

夢想 吃水果 system 水果 com 種類 spa pub rri

  1. 簡單工廠模式

舉個例子:

小Z喜歡吃水果(Fruit)更喜歡喝果汁(juice),喜歡三類水果哈密瓜(Hami melon)、香蕉(banana)、桃子(peach)利用簡單的工廠實現小Z喝果汁夢想

uml

技術分享圖片

首先去選水果(Fruit):

/*
* 獲得水果並得到一個榨果汁的方法
*/
public interface Fruit {
  public void getJuice();
}

哈密瓜:

/*
* 用哈密瓜實實現水果榨汁功能
*/

public class HamiMelon implements Fruit {

  @Override
  public void getJuice() {
    System.out.println("HamiMelon Juice");

  }

}

香蕉:

/*
* 用香蕉實現水果榨汁功能
*/

public class Banana implements Fruit {

  @Override
  public void getJuice() {
    System.out.println("Banana Juice");

  }

}

桃子:

/*
* 用桃子實現水果榨汁功能
*/

public class Peach implements Fruit {

  @Override
  public void getJuice() {
    System.out.println("Peach Juice");

  }

}

加工工廠:

package simplefactory;
/*
* 這個水果加工廠是將水果榨成汁
*/

public class FruitFactory {

  public Fruit createJuice(int choose){

    //switch選擇相應的果汁口味
    System.out.println("1 peachjuice 2 HamiMelon 3 Banana");
    switch(choose){
    case 1:
      return new Peach();
    case 2:
      return new HamiMelon();
    case 3:
      return new Banana();
    }
    return null;
  }

}

測試類:

//測試程序
public class TestDemo {

public static void main(String[] args) {
  FruitFactory ff = new FruitFactory();
  Fruit f = ff.createJuice(1);
  f.getJuice();
  }

}

輸出:

1 peachjuice 2 HamiMelon 3 Banana
Peach Juice

  2.工廠方法

小Z是一個相區分下juice的種類那麽

設計模式簡單工廠、工廠方法、抽象工廠