上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 简介: 注册树模式,属于结构型的设计模式。一种很简单的设计模式 适用场景: 类似IOC。写一个庞大的类库的时候,为了方便各种资源的归纳,可以统一放到一棵树上。 优点: 把一个个游兵散将一样的对象进行统一管理。 另外可以根据项目的业务场景自定义层级。 缺点: 增加项目的复杂性。 纯粹的注册树写法,缺少 阅读全文
posted @ 2022-11-08 00:39 小松聊PHP进阶 阅读(151) 评论(0) 推荐(0)
摘要: 简介: 桥接模式又叫桥梁模式,属于结构型模式。目的是将抽象与实现分离,使它们都可以独立的变化,解耦。继承有很多好处,但是会增加耦合,而桥接模式偏向组合和聚合的方式来共享。 适用场景: 不希望或不适用使用多继承的场景。 一个类存在2个或更多的 独立变化维度 , 并且这些维度都需要 独立扩展 优点: 解 阅读全文
posted @ 2022-11-07 00:59 小松聊PHP进阶 阅读(120) 评论(0) 推荐(0)
摘要: 简介: 适配器模式属于结构型设计模式。 将一个类的接口转换成可应用的兼容接口。适配器使原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式有两种实现方案,一种是继承的方式,一种是组合的方式。 适用场景: 兼容不方便更改的“祖传”代码。 归纳具有相似点的模块,比如Laravel File 阅读全文
posted @ 2022-11-03 19:44 小松聊PHP进阶 阅读(116) 评论(0) 推荐(0)
摘要: 简介 装饰器模式又叫做装饰者模式,属于结构型的设计模式。 指的是在不改变原类文件和使用继承的情况下动态扩展这个对象的功能,从而修饰源数据。 组成: 抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。 具体构件(ConcreteComponent)角色:实现抽象构件,通 阅读全文
posted @ 2022-11-02 02:48 小松聊PHP进阶 阅读(151) 评论(0) 推荐(0)
摘要: 简介: 策略模式又叫做政策模式,用于如何组织和调用算法的,是属于行为型模式的一种。 策略模式需要三个角色构成: Context 封装角色:也叫做上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。 Strategy 抽象策略角色:通常为接口,指定规则。 Concr 阅读全文
posted @ 2022-10-31 17:51 小松聊PHP进阶 阅读(144) 评论(0) 推荐(0)
摘要: 简介: 责任链模式又叫做职责链模式,是属于行为型的一种。 责任链模式分为两种: 第一种像工厂流水线,目的就让每一个环节都进行处理。 第二种像层层审批,如果其中一个对象无法处理,调用下一个对象来进行处理,如果一旦能处理,链式就此停止,以此类推,第二种为了程序的健壮性,至少得需要一个兜底的模块,防止穿透 阅读全文
posted @ 2022-10-31 00:42 小松聊PHP进阶 阅读(427) 评论(0) 推荐(0)
摘要: 简介 观察者模式是行为型模式的一种,定义了对象间一对多的关系。当对象的状态发生变化时候,依赖于它的对象会得到通知。 适用场景 类似触发钩子事件,可做消息通知、框架底层监听。 一个对象的改变会导致一个或多个对象发生改变,方便扩展的写法。 优点 方便扩展,降低耦合,统一触发规则。当需要新增或者删除一个观 阅读全文
posted @ 2022-10-28 19:47 小松聊PHP进阶 阅读(136) 评论(0) 推荐(0)
摘要: 简介: 单例模式是创建型对象的一种,用于如何优雅的创建对象。 让一个类最多产生一个对象。 场景: 只需要一个对象就能解决并且要使用多次的场景,比如框架的数据库连接。 优点: 减少资源消耗,一个对象能完成的事情,就不需要再实例化出来同样的东西。 缺点: 对象生命周期都是页面级的,每次页面被执行时,都会 阅读全文
posted @ 2022-10-27 15:04 小松聊PHP进阶 阅读(212) 评论(0) 推荐(0)
摘要: 简介 工厂模式属于创建型模式,可以分为三种:简单工厂、工厂模式、抽象工厂。 通俗讲就是用于如何优雅的创建对象而设计。当开发者不知道建什么对象,或者创建方式过于复杂的时候去使用(比如引入一个大composer项目或大型sdk,有些时候确实不知道需要使用那些对象,此时就需要参考官方文档,通过包里或sdk 阅读全文
posted @ 2022-10-24 01:59 小松聊PHP进阶 阅读(204) 评论(0) 推荐(0)
摘要: 在模型文件中写入以下代码: /** * @function 实现一个简单的laravel乐观锁 * @return int 受影响的函数 * @other void */ public function cas() { //首先判断数据是否存在 if(! $this->exists) { retur 阅读全文
posted @ 2022-10-23 00:14 小松聊PHP进阶 阅读(115) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 下一页