工厂方法模式

接口

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 {

@Override
public void sender() {
System.out.println("SmsSender这个是sender");

}

}

工厂接口

public interface Provider {

public Sender produce();

}

工厂实现类

public class EmilFactory implements Provider {

@Override
public Sender produce() {

return new EmailSender();
}

}

public class SmsFactory implements Provider {

@Override
public Sender produce() {
// TODO Auto-generated method stub
return new SmsSender();
}

}

测试

public class Test {

public static void main(String[] args) {

new EmilFactory().produce().sender();
}
}

其核心返回值是个接口。 生成类的方法抽象成一个接口这样时类更加灵活

 

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