设计模式之___工厂模式

设计模式之间都是互相配合和关联的

工厂模式分为 三种
1) 简单工厂模式
2) 工厂方法模式
3) 抽象工厂模式
其实工厂模式是从自然界,现实生活中抽象而来,我们可以依照现实中的例子,来构建脑海中的 抽象概念:
在这里插入图片描述

将简单工厂,类比于 小作坊, 类似于 例如: 在一个鸡不拉屎鸟不生蛋的地方,租着成本低廉的地皮,随意用铁皮搭建成的厂房与宿舍,坎坷不平的羊场小道,边上尽是恶心臭水沟.的地沟油作坊.
将工厂方法 类比于 人力流水线 例如: 像是 自动化程度不高,全靠人力三千元一个月,每天12小时上班制,坐在椅子上不停重复同样工作的中小型工厂…
将抽象工厂 类比于 自动化流水线 例如 类似于高自动化的代工厂 如同富士康一般, 全程机械配备,只需要人员在监控中是不是瞄上两眼,和定时需要技术人员对于机器的检修,出去繁重的维护成本之外,其他的都还是不错的.

形象出来没有?

简单工厂

就像写工具类一样创建它(简单工厂)

其实简单工厂,我认为更加类似于 Utils工具类, 里面只有少数几个对象的创建逻辑,帮助你把控对象的单例or多例, 其实对于简单工厂来说 适合创建对象时流程繁复,但是这样的对象不是很多的时候可以使用.
在这里插入图片描述

工厂方法

没有什么是一个接口搞不定的,如同没有什么是一个中间层搞不定的

工厂方法就是在简单工厂的基础上,针对与工厂本身引入了接口的概念与实现. 此时我们可以在原本的简单工厂的小作坊上进行扩展了,需要什么对象工厂,实现接口 or 抽象类就可以了

在这里插入图片描述

复杂工厂

如果有,那就来两个

复杂工厂是基于 工厂方法模式 针对于 工厂对象的返回值 引入了接口,让返回值变得更加多变
但是为了承载更复杂的业务,相应的其的维护成本,理解成本也都相应的上升了不少,
在这里插入图片描述

发布了41 篇原创文章 · 获赞 225 · 访问量 8778

猜你喜欢

转载自blog.csdn.net/weixin_43843042/article/details/103273325