黑马程序员技术交流社区

标题: Java设计模式01-普通工厂模式 [打印本页]

作者: heshiwei    时间: 2015-10-8 12:26
标题: Java设计模式01-普通工厂模式
普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系


举例如下:(我们举一个发送邮件和短信的例子)
首先,创建二者的共同接口:

  1. public interface Sender {
  2.         public void Send();
  3. }
复制代码

其次,创建实现类:
  1. public class MailSender implements Sender {
  2.         @Override
  3.         public void Send() {
  4.                 System.out.println("this is mailsender!");
  5.         }
  6. }
复制代码
  1. public class SmsSender implements Sender {

  2.         @Override
  3.         public void Send() {
  4.                 System.out.println("this is sms sender!");
  5.         }
  6. }
复制代码
最后,建工厂类
  1. public class SendFactory {

  2.         public Sender produce(String type) {
  3.                 if ("mail".equals(type)) {
  4.                         return new MailSender();
  5.                 } else if ("sms".equals(type)) {
  6.                         return new SmsSender();
  7.                 } else {
  8.                         System.out.println("请输入正确的类型!");
  9.                         return null;
  10.                 }
  11.         }
  12. }
复制代码
  1. public class FactoryTest {

  2.         public static void main(String[] args) {
  3.                 SendFactory factory = new SendFactory();
  4.                 Sender sender = factory.produce("sms");
  5.                 sender.Send();
  6.         }
  7. }
复制代码

输出:this is sms sender!

1354156868_1191.PNG (6.93 KB, 下载次数: 0)

1354156868_1191.PNG





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2