-
面向对象和设计模式(二十四) 如何实现有限状态机之状态模式——PHP实现
发布时间:2023-06-06 14:03一、什么是有限状态机在介绍状态模式之前,需要介绍“有限状态机”的概念。通俗的来说,如果一个对象拥有不同且有限个数的状态,且在特定的情况下,这些状态可以相互切换,那么我们就可以说这个对象是一个有限状态机
-
面向对象和设计模式(二十二) 代码中如何留下扩展点之模板模式和策略模式——PHP语言实现
发布时间:2023-05-20 10:19一、模板模式的定义模板模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。模板模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。这里的“算法”,我们可以理解为广义上的“
-
面向对象和设计模式(五) 贫血模型和充血模型
发布时间:2023-01-06 00:27在日常开发中,我们经常的做法是将代码分为 控制器层 Controller、服务层 Service 和 数据存储层 Repository。其中控制器层负责暴露接口,服务层负责业务逻辑的实现,存储层负责数
-
面向对象和设计模式(四) 使用组合代替继承——防止继承带来的类数量爆炸增长
发布时间:2023-01-01 13:55为什么要“多用组合少用继承”,要回答这个问题我们需要先回顾分析继承的优缺点。 继承的优点是:代码复用,描述is-a关系,支持多态特性。 继承的缺点是:继承层次过深会
-
PHP设计模式篇(六) Trait特性——类方法的组合模式
发布时间:2022-11-12 10:33一、什么是Trait 我们知道PHP类是不能多继承的,Trait就是类似于多继承的一种代码复用机制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。 实际上,这里说Tra
-
PHP常用扩展(二) PHP用户级缓存——APCu
发布时间:2022-04-20 11:41一、APC 可选PHP缓存APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户
-
PHP常用扩展(一) PHP字节码缓存——Opcache
发布时间:2022-04-20 09:38一、什么是opcacheOpcache是一种通过将PHP脚本预编译的字节码(Operate Code)存放在共享内存中,避免每次请求都要加载和解析PHP脚本,解析器可以直接从共享内存读取已经缓存的字节
-
PHP设计模式篇(五) 错误Error和异常Exception处理
发布时间:2022-03-16 15:08- 错误和异常PHP7中,错误是指 Error 类,异常是指 Exception 类,他们都继承自 Throwable 类。Exception和Error的不同点:a. 产生方式不同和性质不同Exce
-
PHP设计模式篇(四) 门面模式
发布时间:2022-03-16 14:31门面模式的作用是使一个全部都是非静态方法的类无需实例化就能直接通过静态方式调用该类里面的方法(好无聊好鸡肋...)。 以TP5的门面模式为例: Tp5的门面基类在\th
-
PHP设计模式篇(三) 注册树模式 + 反射 实现依赖注入容器
发布时间:2022-03-15 21:25- 注册树模式 注册树模式将对象实例注册到一个全局的对象树上,业务层需要的时候可以直接从对象树取出该对象使用,使业务层无需在业务代码中new一个对象,造成两个对象耦合。 &nbs