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();
- }
- 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:
静态工厂,是工厂方法的改进。弥补了工厂方法模式,传入参数可能有误的问题,优化了工厂的生产调用
来源:https://www.cnblogs.com/bigsaltfish/p/10067168.html