java 23种设计模式之简单工厂模式
开发中,有的类结构过于复杂,实例化起来需要考虑很多东西,如果每个使用到该类的地方都进行一次复杂的实例化操作,这样就很容易会出现问题。在这种情况下,我们可以专门编写一个类,这个类的主要工作就是通过简单的参数完成复杂的类实例化。
比如我们要实例化一个苹果手机对象,通常我们会这样做
IPhone iphone = new IPhone7();
但是实际上IPhone7这个类远不是这么简单就可以实例化成功的。
这里我们就可以编写一个简单工厂类,对苹果手机的实例化作封装。
public class IPhoneFactory {
public static IPhone getIPhone(int version){
switch (version){
case 5:
return new IPhone5();
case 6:
return new IPhone6();
case 7:
return new IPhone7();
default:
return null;
}
}
}
这样我们在需要实例化一个苹果手机对象时,就只需要通过IPhoneFactory.getIPhone(version);就可以获得自己想要的苹果手机对象了。
这里通过非常简单的方式解释了简单工厂模式,在实际的项目中简单工厂模式也得到了非常广泛的应用
这里我们就拿mybatis源码来说
LogFactory 日志工厂