摘要: 这次测试咱们采用Laravel框架。laravel作为最热门的php框架之一,广受认可与欢迎。同时由于集成度很高,每次运行都加载了大量文件,加之使用了大量的闭包、魔术方法,导致laravel框架很重,并发性能极差。OPcache和Swoole都是php的扩展,这次旨在比较这两个扩展分别开启后对Lar 阅读全文
posted @ 2020-09-22 15:50 phpyu 阅读(1037) 评论(0) 推荐(0) 编辑
摘要: 实体属性值(Entity--attribute--value EAV)模式,可以方便 PHP 实现 EAV 模型。 目的 实体属性值模型(Entity-attribute-value EAV)是一种用数据模型描述实体的属性(属性,参数),可以用来形容他们潜在巨大,但实际上将适用于给定的实体的数量是相 阅读全文
posted @ 2020-09-22 15:08 phpyu 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 目的 该模式通过提供集合风格的接口来访问领域对象,从而协调领域和数据映射层。 资料库模式封装了一组存储在数据存储器里的对象和操作它们的方面,这样子为数据持久化层提供了更加面向对象的视角。资料库模式同时也达到了领域层与数据映射层之间清晰分离,单向依赖的目的。 例子 Laravel 框架 Doctrin 阅读全文
posted @ 2020-09-22 14:54 phpyu 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 目的 在委托模式的示例里,一个对象将它要执行的任务委派给与之关联的帮助对象去执行。在示例中,「组长」声明了 writeCode 方法并使用它,其实「组长」把 writeCode 委托给「菜鸟开发者」的 writeBadCode 方法做了。这种反转责任的做法隐藏了其内部执行 writeBadCode 阅读全文
posted @ 2020-09-22 14:48 phpyu 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 目的 访问者模式可以让你将对象操作外包给其他对象。 这样做的最主要原因就是关注(数据结构和数据操作)分离。但是被访问的类必须定一个契约接受访问者。 (详见例子中 Role::accept 方法) 契约可以是一个抽象类也可以就是一个接口。在此情况下,每个访问者必须自行选择调用访问者的哪个方法。 UML 阅读全文
posted @ 2020-09-21 20:26 phpyu 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 目的 模板方法模式是一种让抽象模板的子类「完成」一系列算法的行为策略。 众所周知的「好莱坞原则」:「不要打电话给我们,我们会打电话给你」。这个类不是由子类调用的,而是以相反的方式。怎么做?当然很抽象啦! 换而言之,它是一种非常适合框架库的算法骨架。用户只需要实现子类的一种方法,其父类便可去搞定这项工 阅读全文
posted @ 2020-09-21 17:22 phpyu 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 目的 分离「策略」并使他们之间能互相快速切换。此外,这种模式是一种不错的继承替代方案(替代使用扩展抽象类的方式)。 例子 简化版的的单元测试:例如,在使用文件存储和内存存储之间互相切换 对一个对象列表进行排序,一种按照日期,一种按照 id UML图 ★官方PHP高级学习交流社群「点击」管理整理了一些 阅读全文
posted @ 2020-09-21 16:44 phpyu 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 目的 状态模式可以基于一个对象的同种事务而封装出不同的行为。它提供一种简洁的方式使得对象在运行时可以改变自身行为,而不必借助单一庞大的条件判断语句。 UML图 ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、 阅读全文
posted @ 2020-09-19 14:44 phpyu 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 目的 构建一个清晰的业务规则规范,其中每条规则都能被针对性地检查。每个规范类中都有一个称为isSatisfiedBy的方法,方法判断给定的规则是否满足规范从而返回 true 或 false。 RulerZ UML图 ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系 阅读全文
posted @ 2020-09-19 14:26 phpyu 阅读(295) 评论(0) 推荐(1) 编辑
摘要: 目的 当对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。它使用的是低耦合的方式。 例子 内容不错的话希望大家支持鼓励下点个赞/喜欢,欢迎一起来交流;另外如果有什么问题和想看的内容可以在评论提出 注意! PHP 已经定义了 2 个接口用于快速实现观察者模式:SplObserver 和 阅读全文
posted @ 2020-09-19 14:08 phpyu 阅读(231) 评论(0) 推荐(0) 编辑