创建模式-简单工厂

简单工厂

 

接口

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();
}

}

简单工厂最主要的是一个工厂类 相同的接口的对象 其返还值 是接可以直接调用接口的方法。

posted @ 2016-04-05 21:10  随风而逝,只是飘零  阅读(122)  评论(0)    收藏  举报