简单工厂模式java代码的实现

来源:互联网 发布:研究生人际关系知乎 编辑:程序博客网 时间:2024/04/30 23:40

简单工厂模式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代码编写


简单工厂模式的作用:

   在简单工厂模式中,一个工厂类处于对产品类进行实例化的中心位置,它知道每一个产品类的细节,并决定适合哪一个产品应当被实例化.简单工厂模式的 优点是能够使客户端独立于产品的创建过程,并且在系统中引入新产品时,不必对客户端进行修改.缺点是当有新产品加入到系统的时候,必须修改工厂类,以加入必要的处理逻辑.   简单工厂模式的致命缺点就是处于核心地位的工厂类因为一旦它无法确定要对哪个类进行实例化,就无法使用该模式,而工厂方法模式则可以很好的解决这一问题,后面我们将继续介绍多个工厂模式  




0 0