如何理解软件开发模式中的工厂模式?

发布于 2024-04-20 22:42:36
浏览量
4907
1 个回答
猫哥
猫哥 项目组成员 2024-04-20
希望我的回答能对你有所帮助

关键在于工厂. 比如有一个车间工厂, 我要用它造一辆小米SU7,我直接:

$mi_factor = new MiCarFactory();
$su7 = $mi_factor->newcar();

就得到了一辆车,然后我让车跑起来,直接:

$su7->drive();

这就完了,对于客户端使用者就两行代码的事,是不是很简单,这就是工厂模式的好处,你无需关系车是咋造的,为啥能跑,直接用就行了.

那问题来了,它为啥能直接就跑呢? 这就涉及到工厂模式内的设计思路了.

  1. 确定产品的接口/抽象类. 比如车抽象一下就是它能跑,能滴滴,能倒车, interface car{};
  2. 创建具体产品类(一定是实现了上面的接口), 比如这里的小米汽车, 它是车更是小米汽车; 你还可以创建其他品牌汽车, class micar implements car{}.
  3. 创建工厂接口/抽象类. 比如车间工厂抽象一下就是能造车,还能修车 interface CarFactory{}.
  4. 创建具体工厂类, 比如这里是小米工厂, class MiCarFactory implements Carfactory{},
  5. 最后就是客户端上上面代码那样直接调用就好了.

学习
记录

发布
问题

分享
好友

手机
浏览

扫码手机浏览