欢迎大家来到IT世界,在知识的湖畔探索吧!
前言
本文主要讲述工厂模式,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。
一.什么是工厂模式
工厂模式是23种设计模式中创建型模式的一种,它是一个最简单的对象创建管理方式,根据调用方传递的类型来创建对象并返回。封装了对象创建的过程,降低了程序模块之间的耦合度。
二.生活中的工厂模式
1.沙县小吃
江帅记得沙县有炒饭、炒粉、云吞、馄饨、蒸饺、汤等各种各样的餐品,而你在沙县只需要告诉老板你想要什么并付款,老板会制作好相关的食物给到你,你不需要了解食物到底是怎么样制作出来的,只需要传递需求就能获取想要的东西,这就跟设计模式的工厂模式很相似。
2.金拱门(麦当劳)与开封菜(KFC)
麦当劳和肯德基是著名的快餐店,有诸多食品,比如汉堡。汉堡这个食物是由他们提供给我们的,而我们只需要告诉餐厅我们需要的是哪个汉堡并付钱就可以了,具体他们是怎么完成这个汉堡的,就不需要我们去考虑了,而这就像设计模式的工厂模式一样。
3.茶餐厅
这些茶餐厅也跟其他餐饮一样,你只需要告诉店员你想要的餐品并付款,后厨就能跟你的需求制作出你点的美食,你也无需关注它如何制作出来的,这也就跟设计模式的工厂模式很相似。
三.工厂模式的实现
接下来江帅以一家茶餐厅来举例,用工厂模式来实现。先创建一个抽象产品类食物类和两个具体产品类奶茶类和三明治类
再创建一个具体工厂,类似茶餐厅
最后通过工厂类(茶餐厅)调用对应的静态方法(厨房)并传递需求(字符串)获取对象(食物)
五.总结
在工厂模式中,咱们只需要传递需求给工厂类的方法,就能获取我们所需要的对象,从而降低类与类之间的耦合度,我们也无需了解类的创建过程和对象的创建过程,只需要关注对象的使用即可。
但是工厂模式有个弊端,就是每添加多一个具体产品类,则需要改动工厂类里的方法,这就违背了设计模式中的开闭原则。就像茶餐厅里多一个菜品时,我们就需要更新菜单。
更多技术类干货/IT信息/程序员资讯,关注@千锋教育
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/36250.html