自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 PHP设计模式之静态工厂模式(Static Factory)代码实例大全(九)

目的与抽象工厂模式类似,此模式用于创建一系列相关或相互依赖的对象。 『静态工厂模式』与『抽象工厂模式』的区别在于,只使用一个静态方法来创建所有类型对象, 此方法通常被命名为 factory 或 build 。例子Zend Framework:Zend_Cache_Backend或 _Frontend 使用工厂方法创建缓存后端或前端UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高

2020-08-31 22:41:12 517 3

原创 PHP设计模式之单例模式(Singleton)代码实例大全(八)

单例模式被公认为是 反面模式 ,为了获得更好的可测试性和可维护性,请使用『依赖注入模式』。目的在应用程序调用的时候,只能获得一个对象实例。例子数据库连接日志 (多种不同用途的日志也可能会成为多例模式)在应用中锁定文件 (系统中只存在一个 ...)UML 类图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Red

2020-08-31 22:40:35 449

原创 PHP设计模式之简单工厂模式(Simple Factory)代码实例大全(七)

目的简单工厂模式是一个精简版的工厂模式。它与静态工厂模式最大的区别是它不是『静态』的。因为非静态,所以你可以拥有多个不同参数的工厂,你可以为其创建子类。甚至可以模拟(Mock)它,这对编写可测试的代码来讲至关重要。 这也是它比静态工厂模式受欢迎的原因!UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swool

2020-08-31 16:40:33 464

原创 PHP设计模式之原型模式(Prototype) 代码实例大全(六)

目的相比正常创建一个对象 (new Foo () ),首先创建一个原型,然后克隆它会更节省开销。示例大数据量 (例如:通过 ORM 模型一次性往数据库插入 1,000,000 条数据) 。UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本

2020-08-31 15:46:40 412

原创 PHP设计模式之对象池模式(Pool)代码实例大全(五)

目的对象池模式是一种提前准备了一组已经初始化了的对象『池』而不是按需创建或者销毁的创建型设计模式。对象池的客户端会向对象池中请求一个对象,然后使用这个返回的对象执行相关操作。当客户端使用完毕,它将把这个特定类型的工厂对象返回给对象池,而不是销毁掉这个对象。在初始化实例成本高,实例化率高,可用实例不足的情况下,对象池可以极大地提升性能。在创建对象(尤其是通过网络)时间花销不确定的情况下,通过对象池在可期时间内就可以获得所需的对象。无论如何,对象池模式在需要耗时创建对象方面,例如创建数据库连接,套接字连接

2020-08-31 15:32:16 483

原创 PHP设计模式之多例模式(Multiton)代码实例大全(四)

目的多例模式是指存在一个类有多个相同实例,而且该实例都是该类本身。这个类叫做多例类。 多例模式的特点是:多例类可以有多个实例。多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。多例模式实际上就是单例模式的推广。举例2 个数据库连接器,比如一个是 MySQL ,另一个是 SQLite多个记录器(一个用于记录调试消息,一个用于记录错误)UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及

2020-08-29 22:42:51 536

原创 PHP设计模式之工厂方法模式(Factory Method) 代码实例大全(三)

目的对比简单工厂模式的优点是,您可以将其子类用不同的方法来创建一个对象。举一个简单的例子,这个抽象类可能只是一个接口。这种模式是「真正」的设计模式, 因为他实现了 S.O.L.I.D 原则中「D」的 「依赖倒置」。这意味着工厂方法模式取决于抽象类,而不是具体的类。 这是与简单工厂模式和静态工厂模式相比的优势。UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能

2020-08-29 21:30:58 140

原创 PHP设计模式之建造者模式(Builder)代码实例大全(二)

目的建造者是创建一个复杂对象的一部分接口。有时候,如果建造者对他所创建的东西拥有较好的知识储备,这个接口就可能成为一个有默认方法的抽象类(又称为适配器)。如果对象有复杂的继承树,那么对于建造者来说,有一个复杂继承树也是符合逻辑的。注意:建造者通常有一个「流式接口」,例如 PHPUnit 模拟生成器。例子PHPUnit: 模拟生成器UML Diagram★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式

2020-08-29 17:27:39 483

原创 PHP设计模式之抽象工厂模式(Abstract Factory)代码实例大全(一)

目的在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。 抽象工厂的客户并不关心这些对象是如何创建的,它只是知道它们是如何一起运行的。UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx

2020-08-28 22:43:18 204

原创 PHP设计模式之工厂方法*解读

「PHP」工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。相比简单工厂 ,创建对象这件事不再交由一个类来创建:把简单工厂拆分,每个产品由专门的一个简单工厂来实现,每个简单工厂实现工厂接口类。这样实现在同一等级结构中,支持增加任意产品。工厂方法UML图:★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,

2020-08-21 22:59:23 439

原创 PHP设计模式之简单工厂模式*解读

「PHP」简单工厂PHP简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。也就是使用的时候通过传参来确定生成不同的对象。简单工厂:★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知

2020-08-19 22:50:49 1106

原创 PHP设计模式|观察者模式(Observer)解析与应用

使用场景假设项目经理让我们写了一个登陆接口,咔咔擦擦写完了第二天让我们加入统计登陆次数,然后在后面加代码第三天让我们判断登陆地区,又在后面加代码第四天让我们在用户登陆后推送活动,再再后面加代码第N天,这个接口已经杂乱到没人想维护了我们需要让项目保持高内聚低耦合,就可以用到观察者模式(也不是非要,看需求)概念观察者,观察者,首先要有个被人观察的角色,这是唯一的,然后会有无数个观察者去看她,可以说是一群人在围观一个人,既然有无数个观众,那总得有个东西记录有哪些观察者,那就应该有一个类

2020-08-18 22:18:19 494

原创 PHP设计模式|观察者模式(Observer)解析与应用

使用场景假设项目经理让我们写了一个登陆接口,咔咔擦擦写完了第二天让我们加入统计登陆次数,然后在后面加代码第三天让我们判断登陆地区,又在后面加代码第四天让我们在用户登陆后推送活动,再再后面加代码第N天,这个接口已经杂乱到没人想维护了我们需要让项目保持高内聚低耦合,就可以用到观察者模式(也不是非要,看需求)概念观察者,观察者,首先要有个被人观察的角色,这是唯一的,然后会有无数个观察者去看她,可以说是一群人在围观一个人,既然有无数个观众,那总得有个东西记录有哪些观察者,那就应该有一个类

2020-08-18 22:06:48 233

原创 PHP的垃圾回收机制-PHP高级面试题+详解

面试10家公司,收获9个offer,2020年PHP 面试问题​zhuanlan.zhihu.comps:本篇内容包括精选面试题与知识篇。PHP面试题关于PHP的垃圾回收机制,PHP的垃圾回收机制引用计数 (reference counting) GC 机制,PHP可以自动进行内存管理,清除不需要的对象,PHP面试题分享PHP关于垃圾回收机制的面试题:★我的php学习交流社群——856460874。群内管理已准备好 整理好的BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)欢迎获取一起

2020-08-06 22:40:01 1001

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除