1.产品类
1.1产品的统一接口
/**
* @Desc:产品的接口
* @author zy
* @date 2016年6月21日下午4:40:33
*/
public interface Product {
/**
* @Desc:获取具体的产品
* @author:zy
* @version: 2016年6月21日 下午5:00:37
*/
public void getDetailProduct();
}
1.2 A产品和B产品
public class A implements Product{
@Override
public void getDetailProduct() {
System.out.println("get a product");
}
}
public class B implements Product{
@Override
public void getDetailProduct() {
System.out.println("get b product");
}
}
2.静态工厂方法
/**
* Description: 简单工厂
* @author zy
* @date 2016年6月21日下午4:18:38
*/
public class SimpleFactoryStatic {
/**
* @Desc:获取a实例
* @return:
* @author:zy
* @version: 2016年6月21日 下午5:25:50
*/
public static Product getA(){
return new A();
}
/**
* @Desc:获取b实例
* @return:
* @author:zy
* @version: 2016年6月21日 下午5:26:00
*/
public static Product getB(){
return new B();
}
}
3.测试
tips:
工厂模式,只关心返回对象,不关心创建的细节。
简单工厂,只抽象产品。共用一个工厂