什么是出厂模式(恢复出厂设置是什么意思)?
序
对于一些初级开发人员来说,设计模式可能不是很重要。但是,随着发展,读者会逐渐意识到设计模式的重要性。深入的掌握和应用,会让你的代码有质的提升,也是读者开发水平的体现。
因此,基于个人的理解和对一些资料的总结,我写了这篇文章,用最通俗易懂的方式向读者解释每一种模式。争取读者一目了然,读后有所收获。当然,前提是要坚持读下去。因为如果你只是看了一眼就溜走了,那么这篇文章就没有意义了。
这篇文章能为读者创造的价值:
1.了解什么是工厂模型。
2.从源代码中提取工厂模式应用,提高源代码的阅读能力。
3.为读者工作中的业务代码设计提供编程设计思路,提高读者代码质量。
4.提升个人职业价值(说白了就是面试官问的工厂模式。你看这篇文章了解更多,而你的竞争对手对此一无所知,所以你的优势很明显)
掌握设计模式的三个过程:
1.理解:通过本文理解设计模式。
2.识别:在阅读代码时,您可以识别应用了哪个设计模式。
3.应用:在接收业务时,能体现出可以应用哪种设计模式并实现(读者要想达到这种程度,需要反复重复“识别”的过程)
一、工厂方法模式
想象这样一个商业场景:一个FoodFactory,需要根据消费者的不同需求生产不同的食品(面条面条,小鸡鸡),然后工厂法模式就应运而生了。看代码(对比这个描述):
注:面条和鸡肉都是从食物继承来的(衍生关系)。
这样,工厂方法模式就实现了。综上所述,一个工厂类(XxxFactory)提供了一个生产方法(makeXxxx),并根据消费者的不同需求(参考名称)创建不同类型的食物对象(面条/鸡肉)。
第二,工厂模式
对于单个工厂,工厂方法模式足以支持。但是,如果涉及多个工厂,则需要工厂模式。
基于前面的业务场景,假设客户需要对食物进行分类:中餐和西餐。那么这个时候就产生了两个工厂(ChineseFoodFactory和WesternFoodFactory)的需求,代码如上:
注意:这里以noodle和chicken结尾的类都是继承自food类Food(派生关系)。
是的,你看起来眼熟吗?(如果你了解工厂方法模式,你应该已经发现这是两个工厂方法模式。如果还没找到,请回到工厂方法模式重新理解)。好了,修改代码实现工厂模式:
注意:改变的部分已经被标注出来了,实际上是做了一个接口,把工厂实例变成了一个抽象,这是工厂模式的关键思想。
呼叫代码:
看到这里,其实读者应该已经大致明白了,工厂模型是在简单工厂的基础上,把具体的工厂实例变成了抽象的选择。
我在文章开头提到,读者有所收获的前提是:坚持读下去。如果你在这里看到过,说明你明白这个前提,继续!
三。抽象工厂
引用一个经典的例子:做一台电脑。
CPU、主板、内存........................................................................................................................................................................如果没有,请回到前面再看一遍。让我猜猜你的想法(以cpu为例):
把各种零件工厂组装成电脑:
这里就出现了工厂模式的问题:试想一下,如果内存和主板型号不兼容,电脑就无法使用,就会出现bug。
要解决兼容性问题,需要放弃客户自由选择工厂对象的权利,指定各个工厂生产的对象进行固定组合(产品族,产品族的描述图在最下面)。这是抽象工厂的设计理念。看看代码:
以上就是由优质生活领域创作者 深圳生活网小编 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.szbubu.com/2868394.html,转载请说明来源于:深圳生活网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场。