JAVA设计模式 - 简单工厂(Simple Factory)

简单工厂(Simple Factory)

在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。

1)我举个栗子,没有工厂的时候,我们想要一个苹果手机,我们需要自己new创建一个出来。(这时候我们想创建一个手机需要很多零件(参数),每当我们想要一个手机就要准备很多零件来创造一个手机,这就很麻烦了,那么有没有可以我想要手机就能拿到,不管它需要什么零件,这就是为什么工厂类的由来)

2)现在有了工厂模式,想要手机直接到工厂取就好了。(零件的思想我没有在案例中体现出来)


/**
 * 苹果系列
 */
public interface Apple {
}
public class Iphone12 implements Apple {
}
public class Iphone11 implements Apple {
}
public class Iphone10 implements Apple {
}

以下的 IphoneFactory 是简单工厂实现,它被所有需要进行实例化的客户类调用。

public class IphoneFactory {
    public static Product createIphone(int type) {
        switch (type) {
          case 12:
             return new Iphone12();
          case 11:
             return new Iphone11();
          default:
             return new Iphone10();
        }
    }
}

客户类:

public class Consumer {

    public static void main(String[] args) {
        Apple iphone12 = IphoneFactory.createIphone(12);
    }
}

简单工厂模式又称静态工厂方法模式。从命名就可以看出这个模式很简单,就是用一个类(工厂)来提供创建对象的接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值