08 2020 档案
摘要:目的 与抽象工厂模式类似,此模式用于创建一系列相关或相互依赖的对象。 『静态工厂模式』与『抽象工厂模式』的区别在于,只使用一个静态方法来创建所有类型对象, 此方法通常被命名为 factory 或 build 。 例子 Zend Framework:Zend_Cache_Backend或 _Front
阅读全文
摘要:单例模式被公认为是 反面模式 ,为了获得更好的可测试性和可维护性,请使用**『依赖注入模式』**。 目的 在应用程序调用的时候,只能获得一个对象实例。 例子 数据库连接 日志 (多种不同用途的日志也可能会成为多例模式) 在应用中锁定文件 (系统中只存在一个 ...) UML 类图 ★官方PHP高级学
阅读全文
摘要:目的 简单工厂模式是一个精简版的工厂模式。 它与静态工厂模式最大的区别是它不是『静态』的。因为非静态,所以你可以拥有多个不同参数的工厂,你可以为其创建子类。甚至可以模拟(Mock)它,这对编写可测试的代码来讲至关重要。 这也是它比静态工厂模式受欢迎的原因! UML 图 ★官方PHP高级学习交流社群「
阅读全文
摘要:目的 相比正常创建一个对象 (new Foo () ),首先创建一个原型,然后克隆它会更节省开销。 示例 大数据量 (例如:通过 ORM 模型一次性往数据库插入 1,000,000 条数据) 。 UML 图 ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相
阅读全文
摘要:目的 对象池模式是一种提前准备了一组已经初始化了的对象『池』而不是按需创建或者销毁的创建型设计模式。对象池的客户端会向对象池中请求一个对象,然后使用这个返回的对象执行相关操作。当客户端使用完毕,它将把这个特定类型的工厂对象返回给对象池,而不是销毁掉这个对象。 在初始化实例成本高,实例化率高,可用实例
阅读全文
摘要:目的 多例模式是指存在一个类有多个相同实例,而且该实例都是该类本身。这个类叫做多例类。 多例模式的特点是: 多例类可以有多个实例。 多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。 多例模式实际上就是单例模式的推广。 举例 2 个数据库连接器,比如一个是 MySQL ,另一个是 SQLi
阅读全文
摘要:目的 对比简单工厂模式的优点是,您可以将其子类用不同的方法来创建一个对象。 举一个简单的例子,这个抽象类可能只是一个接口。 这种模式是「真正」的设计模式, 因为他实现了 S.O.L.I.D 原则中「D」的 「依赖倒置」。 这意味着工厂方法模式取决于抽象类,而不是具体的类。 这是与简单工厂模式和静态工
阅读全文
摘要:目的 建造者是创建一个复杂对象的一部分接口。 有时候,如果建造者对他所创建的东西拥有较好的知识储备,这个接口就可能成为一个有默认方法的抽象类(又称为适配器)。 如果对象有复杂的继承树,那么对于建造者来说,有一个复杂继承树也是符合逻辑的。 注意:建造者通常有一个「流式接口」,例如 PHPUnit 模拟
阅读全文
摘要:目的 在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。 抽象工厂的客户并不关心这些对象是如何创建的,它只是知道它们是如何一起运行的。 UML 图 ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不
阅读全文
摘要:「PHP」工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。 相比简单工厂 ,创建对象这件事不再交由一个类来创建:把简单工厂拆分,每个产品由专门的一个简单工厂来实现,每个简单工厂实现工厂接口类。这样实现在同一等级结构中,支持增加任意产品。 工厂方法UML图: ★官方PH
阅读全文
摘要:「PHP」简单工厂 PHP简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。 也就是使用的时候通过传参来确定生成不同的对象。 简单工厂: ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分
阅读全文
摘要:【观察者模式结构图】 概念 (Observer),首先要有一个被观察的角色,但ta是【唯一的】。虽然"表演者"只有一个但是"观众"有很多,既一群"人"围观一个"人"。既然有无数个观察者,那么我们需要知道都有哪一些"人"。所以我们需要一个“容器”来记录这些"人",一个类似于数组一样来储存所有观察者的容
阅读全文
摘要:假设报考app是用5W rmb 向供应商采购,报名当天涌入海量考生,并发数飙升至30W+,导致系统宕机,拒绝服务,致使考生无法报名,那么5W rmb 能否支持30W+并发呢? 不过对于我们来说,不妨把问题上升一个角度:「如何在有限的资源里最大提升服务器并发能力」。假设你是一名技术负责人,你在面对一个
阅读全文
摘要:面试10家公司,收获9个offer,2020年PHP 面试问题 ps:本篇内容包括精选面试题与知识篇。 PHP面试题关于PHP的垃圾回收机制,PHP的垃圾回收机制引用计数 (reference counting) GC 机制,PHP可以自动进行内存管理,清除不需要的对象,PHP面试题分享PHP关于垃
阅读全文

浙公网安备 33010602011771号