博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 工厂模式介绍
阅读量:4566 次
发布时间:2019-06-08

本文共 1160 字,大约阅读时间需要 3 分钟。

工厂模式,顾名思义,如同工厂一样,你把原材料放入工厂中,出来的是成品,而你并不需要知道工厂里做了什么,工厂模式主要用于解耦。个人认为设计模式只能在实战中更好的理解,当前水平有限,欢迎大家交流

简单工厂模式

把对象的创建和使用的过程分开,比如: ClassA 调用 ClassB,那么 ClassA 只调用ClassB 的方法,至于实例化 ClassB 则在工厂内实现。这样既减少了代码的重复使用,也方便对 ClassB de 后期维护。如果 ClassB 实例化过程很复杂,使用简单工厂模式就会发现外部无需关注复杂的实例化,只管调用 ClassB 的方法即可,减少错误

1410693-20190622173430468-241356379.png

createProduction(); if ($production instanceof Production) { echo 'Nice'; } }}

工厂方法模式

主要用于限制类的公用方法

1410693-20190622173343088-1305909634.png

抽象工厂模式

抽象工厂模式 = 工厂方法模式+简易工厂模式

1410693-20190622173520962-1080843204.png

price = $price; $this->discount = $discount; } /** * @return int */ public function calculatePrice(): int { return $this->price * $this->discount; }}/** * Class PhoneProduct * @package Factory\SimpleFactory */class PhoneProduct implements Product{ /** * @var int */ private $price; /** * PhoneProduct constructor. * @param int $price * @param */ public function __construct(int $price) { $this->price = $price; } /** * @return int */ public function calculatePrice(): int { return $this->price; }}

静态工厂方法

静态方法主要用于构建相同类型的对象

1410693-20190622173610079-1410357428.png

四种工厂模式的优缺点

待补充

转载于:https://www.cnblogs.com/it-abel/p/11031845.html

你可能感兴趣的文章
redis列表list
查看>>
雷林鹏分享: C# 简介
查看>>
实用类-<Math类常用>
查看>>
构建之法阅读笔记之四
查看>>
10.15习题2
查看>>
Windows Server 2008 R2 备份与恢复详细实例
查看>>
Ubuntu上kubeadm安装Kubernetes集群
查看>>
关于java学习中的一些易错点(基础篇)
查看>>
MFC的多国语言界面的实现
查看>>
四则运算个人项目 最终版
查看>>
java线程系列---java5中的线程池
查看>>
SQL表连接
查看>>
新秀系列C/C++经典问题(四)
查看>>
memset函数具体说明
查看>>
经常使用的android弹出对话框
查看>>
确保新站自身站点设计的合理性的六大注意点
查看>>
promise
查看>>
Go 网络编程笔记
查看>>
[]Java面试题123道
查看>>
中间件与auth认证的那点儿所以然
查看>>