• 欢迎来到我的博客
  • [email protected]

静态工厂、简单工厂、抽象工厂、工厂方法

学习笔记 tianlan 1个月前 (10-17) 75次浏览 0个评论 扫描二维码
文章目录[隐藏]

前言

在学习设计模式的时候,各种工厂模式傻傻分不清让人头皮发麻,他们同属于【创建型】所以在这里小结一下。

学习参考:https://learnku.com/docs/php-design-patterns/2018

简单工厂

简单工厂模式是一个精简版的工厂模式。
它与静态工厂模式最大的区别是它不是『静态』的。因为非静态,所以你可以拥有多个不同参数的工厂,你可以为其创建子类。甚至可以模拟(Mock)他,这对编写可测试的代码来讲至关重要。 这也是它比静态工厂模式受欢迎的原因!

静态工厂、简单工厂、抽象工厂、工厂方法

抽象工厂

在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。 抽象工厂的客户并不关心这些对象是如何创建的,它只是知道它们是如何一起运行的。

静态工厂、简单工厂、抽象工厂、工厂方法

静态工厂

与抽象工厂模式类似,此模式用于创建一系列相关或相互依赖的对象。 『静态工厂模式』与『抽象工厂模式』的区别在于,只使用一个静态方法来创建所有类型对象, 此方法通常被命名为 factory 或 build。

根据客户传入不同的参数来创建不同对象。

静态工厂、简单工厂、抽象工厂、工厂方法

 

工厂方法

是真正的设计模式,符合开闭原则。

有多个工厂,这些工厂都实现了一个【工厂接口】。每个工厂只有一个创建对象的方法,且每个工厂只对应一个具体的类。

静态工厂、简单工厂、抽象工厂、工厂方法

天蓝, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:静态工厂、简单工厂、抽象工厂、工厂方法
喜欢 (0)
[[email protected]]
分享 (0)

您必须 登录 才能发表评论!