简单工厂 simplefactory
工厂类负责创建的对象比较少
客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心
优点:只需要传入一个正确的参数,就可以获取你索尼所需要的对象,而无须知道其创建细节
工厂类的职责相对过重,增加新的产品,需要修改工厂类的判断逻辑,违背开闭原则
例子一:java.util.Calendar
public static Calendar getInstance(){
...
Calendar cal = createCalendar(TImeZone.getDefaultRef(), Locale.getDefault(Locale.Category.FORMAT));
...
}
private static Calendar createCalendar(TimeZone zone, Locale aLocale){
if(){
}else if(){
}else{
}
}
createCalendar方法使用的简单工厂模式
例子二:logback
org.slf4j.LoggerFactory
public static Logger getLogger(Class clazz);
public final Logger getLogger(final String name){
ILoggerFactory iLoggerFactory = getILoggerFactory();
return iLoggerFactory.getLogger(name);
}
ILoggerFactory的实现类使用了简单工厂模式
网友评论