抽象工廠模式
由于普通工廠模式,較多的依賴于工廠類,如果增加功能的話改動(dòng)較大,我們來看看抽象工廠模式的實(shí)現(xiàn)方法
1.創(chuàng)建一個(gè)接口,這個(gè)接口由實(shí)現(xiàn)類來實(shí)現(xiàn)
public interface ISender {
public void Send();
}
2.實(shí)現(xiàn)類
public class MailSender implements ISender {
@Override
public void Send() {
System.out.println("this is mailsender!");
}
}
public class SmsSender implements ISender {
@Override
public void Send() {
System.out.println("this is sms sender!");
}
}
3.分別創(chuàng)建兩個(gè)發(fā)送短信和發(fā)送郵件的工廠類
public class SendMailFactory implements IProvider {
@Override
public ISender produce(){
return new MailSender();
}
}
public class SendSmsFactory implements IProvider{
@Override
public ISender produce() {
return new SmsSender();
}
}
4.創(chuàng)建一個(gè)工廠類的接口
public interface IProvider {
public ISender produce();
}
5.測(cè)試
public class Test {
public static void main(String[] args) {
IProvider provider = new SendMailFactory();
ISender sender = provider.produce();
sender.Send();
}
}