工厂设计模式

下面图是简单工厂模式类图,以下工厂模式都是关于披萨的制作
在这里插入图片描述
下面图是工厂方法模式类图,其实就是把抽象类中的方法进行抽象,由其子类进行实现抽象类的创建方法,把实例化对象推延到子类
在这里插入图片描述

下面图是抽象工厂模式类图,其实就是简单工厂模式的进阶,从单一的工厂变成了工厂簇
在这里插入图片描述

总结代码就不贴了,当我们设计一个东西,就比如这个披萨订购系统.为了考虑到设计模式中的对扩展开放,对修改关闭,首先在只有北京披萨和伦敦披萨的情况下,我们设计是把对象的创建交给了工厂进行创建,而我们以后修改代码就不用去修改order订单代码,就可以通过修改工厂的代码进行修改,然后我们的需求变了,多了两种口味,分别是奶酪披萨和胡椒披萨,那么我们现在因为披萨的种类变多,我们则可以考虑利用2个简单工厂模式进行设计,或者引出了工厂方法模式,这个模式实际上就是把抽象类的方法看做一个工厂,然后把对象的实例化延迟到子类进行实例化来完成,你分别用2个类继承这个抽象类,就会有2种口味的类的订单类,
由此还有一种方法,就是抽象工厂模式,这个模式是简单工厂模式的升级版,其本质差不多,就是把原来简单工厂模式的工厂类进行接口化聚合到订单类里面,然后用其子类进行创建对象,其实感觉上就是简单工厂和工厂方法思想的合并.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值