编程学习网 > PHP技术 > laravel > 浅谈laravel框架中的设计模式
2021
12-31

浅谈laravel框架中的设计模式

从PHP各大框架来看,近五年laravel的关注度可谓是前所未有,与其他 PHP 框架不同,Laravel 是个站在巨人肩膀上的框架。 它汲取了前辈框架,甚至其他语言框架的优秀思想,让自己拥有充实、丰满的功能。 而借助于 Composer 和自身的容器体系,让其拥有了能够快速融入其他扩展的能力。

swoole的作者韩天峰也曾这样评价laravel:PHP在php-fpm下用 Laravel框架,配合使用composer、phpstorm、phpmyadmin是快速创造的利器,效率上绝对碾压其他编程语言。累积的几十项的功能需求,在一天之内全部完成,laravel为web艺术家创造的 PHP 框架。

与 Laravel 所推崇的以艺术之心设计代码的理念相同,Laravel 框架本身,也是由精美绝伦的代码组成。那么这么优秀的laravel框架有哪些设计模式呢?

1:工厂模式

好处:类似于函数的封装,使对象有一个统一的生成(实例化)入口。当我们对象所对应的类的类名发生变化的时候,我们只需要改一下工厂类类里面的实例化方法即可。

2:单例模式
好处:对象不可外部实例化并且只能实例化一次,节省资源。

3:注册树模式

好处:注册树模式就是使用数组结构来存取对象,工厂方法只需要调用一次(可以放到系统环境初始化这样的地方),以后需要调用该对象的时候直接从注册树上面取出来即可,不需要再调用工厂方法和单例模式。

4:适配器模式

5:策略模式
好处:将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,将逻辑判断和具体实现分离,实现了硬编码到解耦,并可实现IOC、依赖倒置、反转控制。

6:数据对象映射模式
好处:将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作,这也是ORM的实现机制。

7:观察者模式

好处:当一个对象状态发生改变时,依赖它的对象全部会收到通知并自动更新,实现低耦合,非侵入式的通知与更新机制。
8:原型模式
与工厂模式类似,用于创建对象,不同在于:原型模式是先创建好一个原型对象,再通过clone原型对象来创建新的对象,原型模式适用于大对象的创建,仅需要内存拷贝即可。

9:装饰器模式
若要修改或添加一个类的功能,传统的方式是写一个子类继承它,并重新实现类的方法。装饰器模式仅需在运行时添加一个装饰器对象即可动态的添加或修改类的功能。

10:迭代器模式
在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素,相对于传统编程方式它可以遍历元素所需的操作。

11:代理模式
在客户端与实体之间建立一个代理对象,客户端对实体进行操作全部委派给代理对象,隐藏实体的具体实现细节(slave读库与master写库分离)。代理对象还可以与业务代码分离,部署到另外的服务器,业务代码中通过PRC来委派任务。

以上就是“浅谈laravel框架中的设计模式”的详细内容,想要了解更多laravel框架相关知识欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取