菜鸟硕枫设计模式系列之2 简单工厂模式

简单工厂模式又叫静态工厂模式,是一种创建对象实例的设计模式。通过对象创建工厂根据不同的创建请求创建不同的类对象。将不同对象的创建工作集中到一个创建工厂来完成。

简单工厂模式类图:

[img]http://dl.iteye.com/upload/attachment/364515/f5d9a2e8-0f93-31b0-bb71-33c0e00509f4.jpg[/img]


具体实现代码示例:
对象接口:

public interface Fruit {
String getFruitName();
}

具体对象Apple :

public class Apple implements Fruit{

@Override
public String getFruitName(){
// TODO Auto-generated method stub
return "This is apple";
}

}


具体对象Pear :

public class Pear implements Fruit {

@Override
public String getFruitName() {
// TODO Auto-generated method stub
return "This is pear";
}

}

对象工厂+测试类:

public class SimpleFactory {

public static Fruit getInstance(int choice){
switch(choice){
case 1:
return new Apple();
case 2:
return new Pear();
default:
return null;
}
}

public static void main(String[]args){

System.out.println(SimpleFactory.getInstance(1).getFruitName());

System.out.println(SimpleFactory.getInstance(2).getFruitName());
}
}


说明:这里以简单的创建Apple和Pear对象的工厂为例来示范简单工厂的创建对象过程,当然 choice可以用其他方式触发来代替了。
简单工厂方法模式的优点在于把对象创建的行为都集中到了工厂来进行,方便了对对象创建的管理。
缺点在于:代码的耦合性还是太高,不太满足开闭原则。由于所有的对象都要在这个具体工厂来创建,这样每一次新增新类型对象的话,都要对对象工厂代码做出修改,在swich语句中添加一个分支。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值