java 设计模式之工厂模式

本文参考文章 https://my.oschina.net/u/238082/blog/214548


工厂模式分为三种:

1:普通工厂模式 

2:多个工厂模式 ()是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。)

3:静态工厂模式 (将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可。)


本文以普通工厂为例:(我们举一个发送邮件和短信的例子),下面直接上代码。

(例子换汤不换药咱就不做修改了)


//主函数,工厂入口 

public class FactoryTest {
public static void main(String[] args) {
SendFactory sendFactory=new SendFactory();
Sender sender=sendFactory.producSMS();
sender.Send();
}
}

/**
 * 工厂模式接口创建二者的共同接口  这个是传达命令的地方
 * @author tianruizhong
 *
 */
public interface Sender {
 public void Send(); 
}

/**
 * 工厂类 在这里进行数据的分析传递
 * @author tianruizhong
 *
 */
public class SendFactory {
//这是普通工厂时做的判断的方法
// public Sender produc(String type){
// if (type.equals("SMS")) {
// return new SmsSender();  
// }else if (type.equals("mail")) {
// return new MailSender();  
// }else {
// System.out.println("请输入正确的类型!");
// return null;
// }
// }
//发送短信  这是多个工厂时要修改的方法
public Sender producSMS(){
return  new SmsSender();  
}
//发送邮件
public Sender producMail(){
return  new MailSender();  
}
}

/**
 * 接收命令-》执行发送邮件的实体类
 * @author tianruizhong
 *
 */
public class SmsSender implements Sender{
@Override
public void Send() {
// TODO Auto-generated method stub
System.out.println("this is SMS SendMessage!");
}

}

/**
 * 接受命令-》执行发送邮件的实体类
 * @author tianruizhong
 *
 */
public class MailSender implements Sender{
// 实现接口方法
@Override
public void Send() {
// TODO Auto-generated method stub
System.out.println("this is mailsender!");
}
}




大体的思路:main函数-》发布命令到工厂-》-》通过接口发送命令-》合适的人员进行相应的活动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值