侧边栏壁纸
  • 累计撰写 81 篇文章
  • 累计创建 20 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

工厂设计模式

心生向往
2021-03-18 / 0 评论 / 0 点赞 / 142 阅读 / 1,131 字

普通工厂模式

描述

我们不需要去关注对象的实例化,只需要给工厂类对应的字符串,让工厂类返回给我们对象就行了

image.png

也可以看看菜鸟教程画的图:(还是别人的香)
image.png

Factory factory = new Factory();
Sender sender = factory.product("mail");
sender.send();

多工厂模式

描述

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

不多说直接看代码:

//普通工厂模式
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 SendFactory {

	public Sender produceMail() {
		return new MailSender();
	}
	
	public Sender produceSMS() {
		return new SmsSender();
	}
}

静态工厂模式

描述

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

public class SendFactory {

	public static Sender produceMail() {
		return new MailSender();
	}
	
	public static Sender produceSMS() {
		return new SmsSender();
	}
}

0

评论区