创建模式-简单工厂
简单工厂

接口
public interface Sender {
public void sender();
}
两个实现类
public class EmailSender implements Sender {
@Override
public void sender() {
System.out.println("EmailSender这个是email方法");
}
}
public class SmsSender implements Sender {
public void sender() {
System.out.println("SmsSender这个是sender");
}
创建对象的类
public class SimpleFactory {
/**
* @description:其核心是返回 接口类型
* @param type
* @return
*/
public Sender produce(String type){
if(type.equals("EmailSender")){
return new EmailSender();
}else if(type.equals("SmsSender")){
return new SmsSender();
}else{
return null;
}
}
}
}
测试类
public class Test {
public static void main(String[] args) {
Sender s= new SimpleFactory().produce("SmsSender");
s.sender();
}
}
改进 MultipleFactory 或者 在factory工厂方法中使用静态方法创建
public class MultipleFactory {
public Sender EmailSender(){
return new EmailSender();
}
public Sender SmsSender(){
return new SmsSender();
}
}
简单工厂最主要的是一个工厂类 相同的接口的对象 其返还值 是接可以直接调用接口的方法。

浙公网安备 33010602011771号