工厂模式 6 集连载 之 "简单工厂" 2/6
工厂模式 六 集连载 之 "简单工厂" 2/6
相关视频下载地址:链接:http://pan.baidu.com/s/1sjJTFyP 密码:sl81
Java爱好者交流群: 369508920 免费获取项目资源
简单工厂模式介绍
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现
让所有的交通工具继承相同接口
public interface Vehicle {
public void run();
}
public class Bus implements Vehicle {
public void run(){
System.out.println("---bus run---");
}
}
public class Car implements Vehicle {
public void run(){
System.out.println("---car run---");
}
}
public class Jeep implements Vehicle {
public void run(){
System.out.println("---jeep run---");
}
}
仅仅用来创建对象的简单工厂
/*
* 用来创建对象的简单工厂
* */
public class SimpleFactory {
// 根据参数返回具体的对象类型
public static Vehicle getVehicle(String type){
Vehicle vehicle=null;
switch (type) {
case "car":
vehicle=new Car();
break;
case "bus":
vehicle=new Bus();
break;
default:
vehicle=new Jeep();
break;
}
return vehicle;
}
}
程序不管创建而是使用工厂返回的对象
/**
*
* @author 专注Java、Android 企业定制培训
* @添加QQ技术交流群: 369508920 可免费获取项目视频
* @Description: TODO(设计模式之工厂模式)
* @Title: PatternDemo.java
* @Package cn.it.pattern.demo01
*/
public class PatternDemo {
/*
* 简单工厂模式: 优点: 把对象的创建与对象的使用分开
*
* 缺点: 如果新增加了交通工具,则需要修改工厂创建的代码(违背了开放封闭原则)
* */
public static void main(String[] args) {
// 根据参数交给工厂,然后返回具体的对象
Vehicle vehicle = SimpleFactory.getVehicle(args[0]);
// 使用对象
vehicle.run();
}
}