设计模式之工厂模式

工厂模式

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

简单工厂

在这里插入图片描述

  • 客户类直接面向工厂类调用方法
  • 工厂类面向接口方法
  • 实现类实现对应的接口方法以实现不同的具体方法

类目录:
在这里插入图片描述
具体实例代码:

实现类1:

package com.imooc.factory.i18n;

public class Chinese implements I18N{
    public String getTitle(){
        return "人事管理系统!";
    }
}

实现类2:

package com.imooc.factory.i18n;

public class Italian implements I18N{
    public String getTitle(){
        return "假装是意大利语!";
    }
}

实现类3:

package com.imooc.factory.i18n;

public class Spainish implements I18N{
    public String getTitle(){
        return "假装是西班牙语!";
    }
}

抽象接口:

package com.imooc.factory.i18n;
//工厂接口
public interface I18N {
    public String getTitle();
}

工厂类:

package com.imooc.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;
        }
    }
}

客户类:

package com.imooc.factory;

import com.imooc.factory.i18n.I18N;
import com.imooc.factory.i18n.I18nFactory;

public class Software {
    public static void main(String[] args) {
        I18N i18n= I18nFactory.getI18NObject("italy");
        System.out.println(i18n.getTitle());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值