工厂模式定义:创建对象的接口
工厂模式中也有两种:1.工厂方法 2.抽象工厂
1.
根据工厂模式的设计原理创建相应的代码:
接口类
package com.zuoyan.factory; /** * 这是一个简单的接口,然后让子类去实现这个接口 * @author zuoyan * */ public interface Simple { }
实现类A
package com.zuoyan.factory; public class SimpleA implements Simple { }
实现类B
package com.zuoyan.factory; public class SimpleB implements Simple { }
工厂类
package com.zuoyan.factory; /** * Factory 获取实现了的类 * @author zuoyan * */ public class Factory { public static Simple creator(int which) { if (which == 1) { return new SimpleA(); } else { return new SimpleB(); } } }
进一步稍微复杂一点,就是在工厂类上进行拓展,工厂类也有继承他的实现类 concreteFactory了。
抽象工厂:
工厂模式中有:工厂方法 (Factory Method) 抽象工厂(Abstract Factory)
这两种模式的区别在于需要创建对象的复杂程度上。