创建型模式
结构型模式
行为型模式
工厂模式
工厂模式用于隐藏创建对象的细节;
工厂模式核心:工厂类(Fcatory);
工厂模式可细分为简单工厂、工厂方法与抽象工厂;
面向接口编程,隐藏具体类实现的细节
原始的设计模式,客户类要了解每一个类的具体功能
简单工厂设计模式,对原始的具体类抽象出来一个具体的接口,根据客户的要求,由工厂类创建对应的实现类,客户类不再面向实现类,而是持有一个抽象接口,工厂类返回的时候也是返回这个接口,所有客户不需要关注工厂类创建了哪个具体类,只需要知道工厂类返回某一个接口就可以。
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.www.zyiz.net/i/ll/?i=img_convert/88f9e118b966487139ca61fa52469025.png)