工厂模式
工厂模式用户隐藏创建对象的细节
工厂模式核心:工厂类(Factory)
工厂模式可以细分为简单工厂、工厂方法与抽象工厂
简单使用一下简单工厂
首先创建一个接口
package com.xmaven.i18n;
/**
* @ClassName I18N
* @Description TODO 国际化
* @Author Ambition
* @Date 2021/2/7 14:15
* @Version 1.0.0
**/
public interface I18N {
public String getTitle();
}
创建三个实现类实现上述接口
package com.xmaven.i18n;
/**
* @ClassName Chinese
* @Description TODO
* @Author Ambition
* @Date 2021/2/7 14:10
* @Version 1.0.0
**/
public class Chinese implements I18N {
@Override
public String getTitle() {
return "人事管理系统";
}
}
package com.xmaven.i18n;
/**
* @ClassName English
* @Description TODO
* @Author Ambition
* @Date 2021/2/7 14:11
* @Version 1.0.0
**/
public class English implements I18N {
@Override
public String getTitle() {
return "Personnel Management System";
}
}
package com.xmaven.i18n;
/**
* @ClassName Italian
* @Description TODO
* @Author Ambition
* @Date 2021/2/7 14:13
* @Version 1.0.0
**/
public class Italian implements I18N {
@Override
public String getTitle() {
return "Sistema di gestione del personale";
}
}
创建一个工厂类,隐藏我们创建对象的方法
package com.xmaven.i18n;
/**
* @ClassName I18NFactory
* @Description TODO
* @Author Ambition
* @Date 2021/2/7 14:18
* @Version 1.0.0
**/
public class I18NFactory {
//静态工厂
public static I18N getI18NObject(String area){
if (area.equals("china")){
return new Chinese();
}else if (area.equals("English")){
return new English();
}else if (area.equals("Italy")){
return new Italian();
}else {
return null;
}
}
}
创建测试类进行测试
package com.xmaven.factory;
import com.xmaven.i18n.I18N;
import com.xmaven.i18n.I18NFactory;
/**
* @ClassName Software
* @Description TODO
* @Author Ambition
* @Date 2021/2/7 14:09
* @Version 1.0.0
**/
public class Software {
public static void main(String[] args) {
I18N i18N = I18NFactory.getI18NObject("English");
System.out.println(i18N.getTitle());
}
}
评论区