![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
<?php?>
改变世界前,先改变自己!
展开
-
依赖注入
作用 依赖注入主要用来减少代码之间的耦合 有效分离对象和它所需的外部资源 PHP中传递依赖的三种方案 第一种方案,也是最不可取的方案,就是在A类中直接用new关键词来创建一个B类,如下代码所示: <?php class A { public function __construct() { $b = new B(); } } 为什么这种方案不可取呢?因为这样的话,A与B就耦合在了一起,也就是说A类无法脱离B类工作。 第二种方案就是在A类的方法中传入需要的B类,如下代码所示:转载 2020-06-09 00:02:30 · 105 阅读 · 0 评论 -
注册树模式
什么是注册树模式 通过将对象实例注册到一颗全局的对象树上 需要的时候从对象树上采摘下来使用 为什么要用注册树模式 单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。 那么注册树模式想解决什么问题呢? 在考虑这个问题前,我们还是有必要考虑下前两种模式目前面临的局限。 首先,单例模式创建唯一对象的过程本身还有一种判断,即判断对象是否存在。存在则返回对象,不存在则创建对象并返回。 每次创建实例对象都要存在这么一层判断。 工厂模式更多考虑的是扩展维护的转载 2020-06-08 13:46:37 · 139 阅读 · 0 评论 -
单例模式(一个类只允许创建一个实例)
目录一、什么是单例模式二、PHP单例模式三要素三、为什么使用单例模式四、单例模式示例 一、什么是单例模式 作为对象的创建模式,单例模式确保某一个类只有一个实例,并且对外提供这个全局实例的访问入口。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。 二、PHP单例模式三要素 需要一个保存类的唯一实例的静态成员变量。 构造函数和克隆函数必须声明为私有的,防止外部程序创建或复制实例副本。 必须提供一个访问这个实例的公共静态方法,从而返回唯一实例的一个引用。 三、为什么使用单例模式 使用单例模式的好转载 2020-06-08 12:02:47 · 800 阅读 · 0 评论 -
简单工厂模式代码实现(加减乘除)
<?php /** * Operation */ class Operation { protected $a = 0; protected $b = 0; public function setA($a) { $this->a = $a; } public function setB($b) { $this->b = $b; } public function getR原创 2020-05-29 16:27:05 · 316 阅读 · 0 评论 -
简单工厂模式
1 工厂模式简介 1.1 定义 简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。 简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 1.2 简单工厂模式结构图 20160211134612096.png Factory:工厂类,简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。 IProduct:抽象产品类,简单工厂模式所创建的所转载 2020-05-29 16:17:32 · 119 阅读 · 0 评论