工厂模式的介绍

  • 工厂模式用于隐藏创建对象的细节
  • 工厂模式的核心:工厂类(Factory)
  • 工厂模式可细分为简单工厂,工厂方法与抽象工厂

简单工厂:
image.png

com.song.factory - software.java

  1. package com.song.factory;
  2. import com.song.factory.i18n.I18N;
  3. import com.song.factory.i18n.I18NFactory;
  4. public class Software {
  5. public static void main(String[] args) {
  6. try {
  7. I18N i18N = I18NFactory.getI18NObject("China");
  8. System.out.println(i18N.getTitle());
  9. } catch (Exception e) {
  10. System.out.println("请输入正确的国家名称");
  11. }
  12. }
  13. }

com.song.factory.i18n - I18N.java

  1. package com.song.factory.i18n;
  2. public interface I18N {
  3. public String getTitle();
  4. }

com.song.factory.i18n - I18NFactory.java

  1. package com.song.factory.i18n;
  2. public class I18NFactory {
  3. public static I18N getI18NObject(String area) {
  4. if (area.equals("China")) {
  5. return new Chinese();
  6. } else if (area.equals("Spainish")) {
  7. return new Spainish();
  8. } else {
  9. return null;
  10. }
  11. }
  12. }

com.song.factory.i18n - Chinese.java

  1. package com.song.factory.i18n;
  2. public class Chinese implements I18N{
  3. public String getTitle() {
  4. return "认识管理系统";
  5. }
  6. }

com.song.factory.i18n - Spainish.java

  1. package com.song.factory.i18n;
  2. public class Spainish implements I18N{
  3. public String getTitle() {
  4. return "Sistema de gestión del personal";
  5. }
  6. }