摘要: 目的 相比正常创建一个对象 (new Foo () ),首先创建一个原型,然后克隆它会更节省开销。 示例 大数据量 (例如:通过 ORM 模型一次性往数据库插入 1,000,000 条数据) 。 UML 图 ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相 阅读全文
posted @ 2020-08-31 15:47 phpyu 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 目的 对象池模式是一种提前准备了一组已经初始化了的对象『池』而不是按需创建或者销毁的创建型设计模式。对象池的客户端会向对象池中请求一个对象,然后使用这个返回的对象执行相关操作。当客户端使用完毕,它将把这个特定类型的工厂对象返回给对象池,而不是销毁掉这个对象。 在初始化实例成本高,实例化率高,可用实例 阅读全文
posted @ 2020-08-31 15:32 phpyu 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 目的 多例模式是指存在一个类有多个相同实例,而且该实例都是该类本身。这个类叫做多例类。 多例模式的特点是: 多例类可以有多个实例。 多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。 多例模式实际上就是单例模式的推广。 举例 2 个数据库连接器,比如一个是 MySQL ,另一个是 SQLi 阅读全文
posted @ 2020-08-31 15:27 phpyu 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 目的 对比简单工厂模式的优点是,您可以将其子类用不同的方法来创建一个对象。 举一个简单的例子,这个抽象类可能只是一个接口。 这种模式是「真正」的设计模式, 因为他实现了 S.O.L.I.D 原则中「D」的 「依赖倒置」。 这意味着工厂方法模式取决于抽象类,而不是具体的类。 这是与简单工厂模式和静态工 阅读全文
posted @ 2020-08-29 21:31 phpyu 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 目的 建造者是创建一个复杂对象的一部分接口。 有时候,如果建造者对他所创建的东西拥有较好的知识储备,这个接口就可能成为一个有默认方法的抽象类(又称为适配器)。 如果对象有复杂的继承树,那么对于建造者来说,有一个复杂继承树也是符合逻辑的。 注意:建造者通常有一个「流式接口」,例如 PHPUnit 模拟 阅读全文
posted @ 2020-08-29 17:28 phpyu 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 目的 在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。 抽象工厂的客户并不关心这些对象是如何创建的,它只是知道它们是如何一起运行的。 UML 图 ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不 阅读全文
posted @ 2020-08-28 22:43 phpyu 阅读(279) 评论(0) 推荐(2) 编辑
摘要: 「PHP」工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。 相比简单工厂 ,创建对象这件事不再交由一个类来创建:把简单工厂拆分,每个产品由专门的一个简单工厂来实现,每个简单工厂实现工厂接口类。这样实现在同一等级结构中,支持增加任意产品。 工厂方法UML图: ★官方PH 阅读全文
posted @ 2020-08-21 22:58 phpyu 阅读(307) 评论(0) 推荐(2) 编辑
摘要: 「PHP」简单工厂 PHP简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。 也就是使用的时候通过传参来确定生成不同的对象。 简单工厂: ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分 阅读全文
posted @ 2020-08-19 22:51 phpyu 阅读(203) 评论(0) 推荐(2) 编辑
摘要: 【观察者模式结构图】 概念 (Observer),首先要有一个被观察的角色,但ta是【唯一的】。虽然"表演者"只有一个但是"观众"有很多,既一群"人"围观一个"人"。既然有无数个观察者,那么我们需要知道都有哪一些"人"。所以我们需要一个“容器”来记录这些"人",一个类似于数组一样来储存所有观察者的容 阅读全文
posted @ 2020-08-18 22:07 phpyu 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 假设报考app是用5W rmb 向供应商采购,报名当天涌入海量考生,并发数飙升至30W+,导致系统宕机,拒绝服务,致使考生无法报名,那么5W rmb 能否支持30W+并发呢? 不过对于我们来说,不妨把问题上升一个角度:「如何在有限的资源里最大提升服务器并发能力」。假设你是一名技术负责人,你在面对一个 阅读全文
posted @ 2020-08-15 20:15 phpyu 阅读(397) 评论(0) 推荐(2) 编辑