简单工厂模式java代码的实现:
1.创建一个简单的玩具接口类
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:08:19
* 类说明
*/
public interface Toy {
public void makeToy();
}
2.实现一个玩具小汽车的类
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:10:09
* 类说明
*/
public class ToyCar implements Toy{
@Override
public void makeToy() {
// TODO Auto-generated method stub
System.out.println("this is toy car!");
}
}
3.实现一个玩具飞机的类
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:11:32
* 类说明
*/
public class ToyPlane implements Toy{
@Override
public void makeToy() {
// TODO Auto-generated method stub
System.out.println("this is toy plane!");
}
}
4.生成一个简单工厂
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:13:33
* 类说明
*/
public class ToyFactory {
public Toy toyProduct(String type){
if(type.equals("plane")){
return new ToyPlane();
}else if(type.equals("car")){
return new ToyCar();
}else{
System.out.println("输入错误");
return null;
}
}
}
5.编写测试类进行测试
package www.weitao.simpleFactory;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-20 上午10:20:54
* 类说明
*/
public class FactoryTest {
public static void main(String[] args) {
ToyFactory toyFactory = new ToyFactory();
toyFactory.toyProduct("plane").makeToy();
toyFactory.toyProduct("car").makeToy();
}
}
即完成了简单工厂方法的java代码编写
简单工厂模式的作用:
在简单工厂模式中,一个工厂类处于对产品类进行实例化的中心位置,它知道每一个产品类的细节,并决定适合哪一个产品应当被实例化.简单工厂模式的 优点是能够使客户端独立于产品的创建过程,并且在系统中引入新产品时,不必对客户端进行修改.缺点是当有新产品加入到系统的时候,必须修改工厂类,以加入必要的处理逻辑. 简单工厂模式的致命缺点就是处于核心地位的工厂类, 因为一旦它无法确定要对哪个类进行实例化,就无法使用该模式,而工厂方法模式则可以很好的解决这一问题,后面我们将继续介绍多个工厂模式