java设计模式之工厂设计模式

java中的工厂模式分为三种,第一是:简单的工厂模式,

   第二是:工厂方法,

第三是:抽象工厂


下面来看看各种工厂模式是个怎么实现的方法,第一种是简单的工厂模式:

package excise;
//import excise.Fruit;
 interface Fruit1 {
	public void eat();

}
class Apple implements  Fruit1{
	public void eat(){
		System.out.println("我在吃苹果");
	}
}
class Banana implements Fruit1{
	public void eat(){
		System.out.println("我在吃香蕉");
	}
}

public class DesignPattern2 {
	public static Fruit1 factory(String str) throws Exception{
		if(str.equals("Apple")){
			return new Apple();
		}else if(str.equals("Banana")){
			return new Banana();
		}else{
			throw new Exception("没有该产品");
		}
	}
	public static void main(String args[]){
		try{
		DesignPattern2.factory("Banana").eat();
		DesignPattern2.factory("Apple").eat();
		DesignPattern2.factory("Ae").eat();
		}catch(Exception  e){
			e.printStackTrace();
		}
	}
}

再来看看工厂方法,这种方法过于繁琐,如果有产前上万的商品,简直就是灾难:


package excise;
interface Factory{ 
	 public Product create(); 
	} 

interface Product{} 

 class Washer implements Product{ 
	   public Washer(){ 
	       System.out.println("洗衣机被制造了"); 
	   } 
	} 
	 
 class Icebox implements Product{ 
	   public Icebox(){ 
	       System.out.println("冰箱被制造了"); 
	   } 
	} 
	 
 class AirCondition implements Product{ 
	   public AirCondition(){ 
	       System.out.println("空调被制造了"); 
	   } 
	} 

class CreateWasher implements Factory{ 
   public Product create(){ 
         return new Washer(); 
   } 
}  
 class CreateIcebox implements Factory{ 
   public Product create(){ 
         return new Icebox(); 
   } 
} 
class CreateAirCondition implements Factory{ 
   public Product create(){ 
         return new AirCondition(); 
   } 
} 
public class DesignPattern2 {
	public static void main(String args[]){
		Factory f=new CreateAirCondition();
		f.create();
	}
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值