-
创建型模式
-
结构型模式
-
行为型模式
-
工厂模式用于隐藏创建对象的细节;
-
工厂模式核心:工厂类(Fcatory);
-
工厂模式可细分为简单工厂、工厂方法与抽象工厂;
面向接口编程,隐藏具体类实现的细节
简单工厂
原始的设计模式,客户类要了解每一个类的具体功能
简单工厂设计模式,对原始的具体类抽象出来一个具体的接口,根据客户的要求,由工厂类创建对应的实现类,客户类不再面向实现类,而是持有一个抽象接口,工厂类返回的时候也是返回这个接口,所有客户不需要关注工厂类创建了哪个具体类,只需要知道工厂类返回某一个接口就可以。
项目应用-i18n国际化
3个语言测试类:
Chinese.java
package factory.i18n;
public class Chinese implements I18N{
public String getTitle(){
return "简体中文:人事管理系统";
}
}
Italian.java
package factory.i18n;
public class Italian implements I18N {
public String getTitle(){
return "意大利语";
}
}
Spainish.java
package factory.i18n;
public class Spainish implements I18N {
public String getTitle(){
return "西班牙语";
}
}
现在要调用哪个语言类,必须实现那个类,使用简单工厂模式可以不用关心这个问题,创建一个包含语言通用方法的国际化接口:
I18N.java
package factory.i18n;
//Internationalization
public interface I18N {
public String getTitle();
}
I18NFactory.java 接口的国际化工厂类
package factory.i18n;
public class I18NFactory {
//静态工厂
public static I18N getI18NObject(String area) {
if (area.equals("china")) {
return new Chinese();
} else if (area.equals("spain")) {
return new Spainish();
} else if (area.equals("italy")) {
return new Italian();
} else {
return null;
}
}
}
在调用的时候只需要引用这个接口,而不需要关心具体哪个类去实现:
Software.java
# 总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。
面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!如果你需要这份完整版的**面试真题笔记**,只需你多多**支持**我这篇文章。
**[资料领取方式:戳这里免费下载](https://gitee.com/vip204888/java-p7)**
不努力,差距也只会越来越大。
面试题多多少少对于你接下来所要做的事肯定有点帮助,但我更希望你能透过面试题去总结自己的不足,以提高自己核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!如果你需要这份完整版的**面试真题笔记**,只需你多多**支持**我这篇文章。
**[资料领取方式:戳这里免费下载](https://gitee.com/vip204888/java-p7)**
![](https://www.icode9.com/i/ll/?i=img_convert/88f9e118b966487139ca61fa52469025.png)