laravel中用到了不少设计模式,实现这些设计模式时也用到了很多php新特性。学习这些设计模式,能够帮助咱们:php
(laravel中的代码用到不少新特性,例如php中的闭包和匿名函数,理解这些才能更好的理解代码)html
闭包与匿名函数
1.装饰者模式laravel
装饰者模式是在开放——关闭原则下实现动态添加或减小功能的一种方式。
说明:装饰者模式就是不修改原类代码和继承的状况下动态扩展类的功能。传统的编程模式都是子类继承父类实现方法重载,使用装饰器模式,只需添加一个新的装饰器对象,更加灵活,避免类数量和层次过多
装饰者模式详解
2.IOC服务容器编程
能够理解为工厂模式的升华版。
提供须要类的注册,同时绑定依赖关系的类,实现自动注册类
IOC服务容器概念详解
IOC服务容器源码详解
3.门面模式segmentfault
Facades(读音:/fəˈsäd/ )为应用程序的服务容器中可用的类提供了一个「静态」接口。Laravel 自带了不少 facades ,几乎能够用来访问到 Laravel 中全部的服务。Laravel facades 其实是服务容器中那些底层类的「静态代理」,相比于传统的静态方法, facades 在提供了简洁且丰富的语法同时,还带来了更好的可测试性和扩展性。
门面模式详解