您的位置:首页 > 编程语言 > Java开发

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

2015-11-05 09:04 609 查看
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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: