码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之普通工厂模式

时间:2017-11-25 15:23:03      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:copy   .com   mail   nts   image   string   测试   bsp   ges   


1. 工厂模式

工厂模式分为三种

(1.)普通工厂模式

普通工厂模式,就是建立一个工厂类,对实现了同一个接口的一些类进行实例的创建。

普通工厂模式关系图 

 

技术分享图片


以下举例:(我们举一个发送邮件和短信的例子)

首先,创建二者的共同接口:

[java] view plaincopy

public interface Sender {
public void Send();
}

其次,创建实现类:

[java] view plaincopy

实现类一

public class MailSender implements Sender {
@Override
public void Send() {
System.out.println("this is mailsender!");
}
}

[java] view plaincopy

实现类二

public class SmsSender implements Sender {

@Override
public void Send() {
System.out.println("this is sms sender!");
}
}

最后,建工厂类:

[java] view plaincopy

public class SendFactory {

public Sender produce(String type) {
if ("mail".equals(type)) {
return new MailSender();
} else if ("sms".equals(type)) {
return new SmsSender();
} else {
System.out.println("请输入正确的类型!");
return null;
}
}
}

我们来测试下:

public class FactoryTest {

public static void main(String[] args) {
SendFactory factory = new SendFactory();
Sender sender = factory.produce("sms");
sender.Send();
}
}

输出:this is sms sender!

 

设计模式之普通工厂模式

标签:copy   .com   mail   nts   image   string   测试   bsp   ges   

原文地址:http://www.cnblogs.com/MrMedici/p/7895248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!