工厂模式从字面上的理解来看,就是一个工厂,而实际意义也是一样的,它就是一个工厂,生产出我们需要的东西,对应现实生活中的工厂,玩具工厂就是生产出玩具的,电子工厂就是生产出各种电子设备的,在Java语言中设计模式里面的工厂模式,就是为我们生产出各种我们需要的对象的,我们不需要关心具体的细节,我们只需要对它说,hi,我需要什么什么什么,然后,它就会给我们什么,就好比你跟一个电子厂说,hi,我需要一台电脑,然后电子厂就给你生产了一台电脑,而你并不需要知道这电脑到底是如何制造出来的,工厂模式的含义我们已经说清楚,接下来我们一起看看工厂模式的分类
简单工厂从字面意思就能看出,相对简单的工厂,它的成本不高,复杂性相对也低,比较适用于业务相对简单,并且业务需求变动少的场景。
假设我们的项目中有一个发短信的功能,而我们不同的用户可能用的是不同的手机运营商,例如移动、联通、电信,那我们应该如何去实现不同的手机运营商接收到的是不同的短信内容呢?
public interface Message {
void send();
}
public class Yidong implements Message {
@Override
public void send() {
System.out.println("hi,我是移动用户的短信内容");
}
}
public class MessageFactory {
public static Message getMessage(String name){
switch (name){
case "移动":
return new Yidong();
case "联通":
return new Liantong();
}
throw new RuntimeException();
}
}
public static void main(String[] args) {
Message message = MessageFactory.getMessage("移动");
message.send();
//最后打印输出的结果为:hi,我是移动用户的短信内容
}
原文:https://www.cnblogs.com/islcz/p/12431255.html