在平常的开发中经常遇到以工厂模式创建的包装类,比如:BitmapFactory,下面我写一个通俗易懂的例子(发送信息的工厂类),
/**
* 发送的接口
* @author luweicheng
*
*/
public interface Sender {
//发送的方法
void send();
}
/**
* 发送邮件类
* @author luweicheng
*
*/
public class MailSender implements Sender{
public void send() {
System.out.println("发送邮件");
}
}
/**
* 发送短信类
* @author luweicheng
*/
public class SmsSender implements Sender{
public void send() {
System.out.println("发送短信");
}
}
/**
* 发送工厂类
* @author luweicheng
*
*/
public class SendFactory {
public static Sender sendSms(){
return new SmsSender();
}
public static Sender sendMail(){
return new MailSender();
}
}
public class ModeText {
/**
* 设计模式测试类
* @author luweicheng
*
*/
public static void main(String[] args) {
Sender sender = SendFactory.sendMail();
sender.send();//发邮件
Sender sender1 = SendFactory.sendSms();
sender1.send();//发短信
}
}
测试结果如下:
以上就是一个最简单的例子,但是工厂模式的核心就是这种思想,有点面向接口编程的意思。