2020-11-30

工厂模式:

1)简单工厂模式(Simple Factory)
2)工厂方法模式(Factory Method)
3)抽象工厂模式(Abstract Factory)

简单工厂模式:

一般的创建一种方法的时候,通常是在类中去定义这个方法,就像我们需要一部手机去自己研发制造,那么有没有办法让我们更简单获得这个手机?这时候我们就会想到手机制造商。
建立一个工厂(一个函数或一个类方法)来制造新的对象。就像是建一个手机制造厂,来制造手机一样。
每一个函数或者类方法就像一个工厂,每一个工厂都专门生产自己的手机,每一个函数或类方法也都有自己的对象及方法。在调用时候就像是我们拿到了工厂里的手机制造生产线,跟自己研究制造相比较省去了研发、搭建工厂等环节,这就是工厂模式的思路。
此时再想,如果我们想要更简单的获得手机,获得不同功能的手机,以及不同型号的手机。工厂为了实现这个功能只能再建一条流水线来实现这个功能,放在代码中那就是为了这个功能需要修改程序。
简单工厂模式又称静态工厂方法模式。它的作用:定义一个用于创建对象的接口。
先来看看它的组成:
1) 产品角色:它一般是具体产品继承的父类或者实现的接口。通过继承和实现就可以创建更多的方法,就像是这个工厂不再只有一条流水线可以生产不同功能的手机。
abstract class HUAWEI {
public HUAWEI (){
}
}
public class HUAWEIMATE30 extends HUAWEI {
public HUAWEIMATE30 () {
System.out.println(“制造–> HUAWEIMATE30”);
}
}
public class HUAWEIMATE40 extends HUAWEI{
public HUAWEIMATE40(){
System.out.println(“制造–> HUAWEIMATE40”);
}
}
2) 工厂类角色:用来创建产品。一个工厂包含了制造手机的所有的流水线,来根据要求制造各种型号的手机,在代码中也就是包含了各种方法的工厂类。
`

	工厂类:
	public class Factory{
	public HUAWEI createHUAWEI(int x){
	switch (x){
	case 30:
		return new HUAWEIMATE30();

	case 40 :
		return new HUAWEIMATE30 ();

	default:
		break;
	}
	return null;
}
}

客户类:   
public class Customer {
public static void main(String[] args) {
	Factory factory = new Factory();
	HUAWEI HUAWEIMATE30 = factory.createHUAWEI(30);
	HUAWEI HUAWEIMATE40 = factory.createHUAWEI(40);
	}
}

`
3) 具体产品角色:工厂类所创建的对象就是此角色的实例。如字面意思就是,具体的产品,也就是调用工厂的具体的类。
简单工厂模式就像是自己将想要的手机告诉了工厂,直接面向了工厂,不再是自己拿到流水线去生产,这样也就是更加简单的获得这个手机,代码中的术语叫做降低耦合性,同时也可以获得不同品牌的手机。
简单工厂模式提供了一个接口,用来创建对象,可以在此接口中创造不同功能的对象。

工厂方法模式:
抽象工厂模式:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值