软件编程
位置:首页>> 软件编程>> java编程>> JAVA简单工厂模式(从现实生活角度理解代码原理)

JAVA简单工厂模式(从现实生活角度理解代码原理)

作者:潘侯爷  发布时间:2021-10-29 12:39:32 

标签:java,工厂模式

简单工厂模式(Simple Factory),说他简单是因为我们可以将此模式比作一个简单的民间作坊,他们只有固定的生产线生产固定的产品。也可以称他为静态工厂设计模式,类似于之前提到过静态代理设计模式,一条生产线生产一种产品(一个代理代理一种业务),为了方便大家理解,我们将KFC比作一个简单的工厂,实现代码如下:


//建造接口(或者抽象类)提供食物生产方法
interface Food{
 public abstract void get();
}
//汉堡类(后厨生产线)来实现食物生产方法
class Hamburger implements Food{
 public void get(){
   System.out.println("汉堡来了");
 }
}
//炸鸡类(后厨生产线)来实现食物生产方法
class Chicken implements Food{
 public void get(){
   System.out.println("炸鸡来了");
 }
}
//KFC(静态工厂类)
class KFC{
 //提供获取食物的方法(传入的参数name为食客所点食物)
 public static Food getFood(String name){
   /*如果所点食物是炸鸡/汉堡(见名知义)
    *则实例化该生产线(通知对应后厨生产线)
    */
   if(name.equals("炸鸡")){
     return new Chicken();
   }
   if(name.equals("汉堡")){
     return new Hamburger();
   }
   return null;
 }
}
//测试类
public class Test{
 public static void main(String[] args){
   KFC kfc = new KFC();//实例化KFC
   Food m = kfc.getFood("炸鸡");
   Food n = kfc.getFood("hanbao");//输入的字符串不符合工厂类对应值
   try{
     m.get();
     n.get();
    //添加异常处理(如果没有对应生产线则提示异常处理结果)
   }catch(NullPointerException e){
     System.out.print("没有你要的食物");
   }
 }
}

输出结果:

1 炸鸡来了 2 没有你要的食物

来源:http://www.cnblogs.com/panhouye/p/6102227.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com