工厂模式 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();
	}
}