设计模式简单工厂工厂方法抽象工厂

Posted hhxz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式简单工厂工厂方法抽象工厂相关的知识,希望对你有一定的参考价值。

  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的种类那么
















































以上是关于设计模式简单工厂工厂方法抽象工厂的主要内容,如果未能解决你的问题,请参考以下文章

工厂模式,简单工厂模式,抽象工厂模式三者有啥区别

iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)

设计模式——抽象工厂,简单工厂和工厂方法

对比总结三个工厂模式(简单工厂,工厂方法,抽象工厂)

工厂模式:简单工厂工厂方法抽象工厂

工厂模式抽象工厂模式策略模式