建立自己的原则系统, 把一些好的概念与方法论,应用到自己的生活中方方面,形成自己的“原则”。
进取型人格宣言
- 学习其实是一种生活方式,学习本身就是最好的洗脑方式。
- 只要我投入时间精力,长期来看,没有什么是我学不会的。
- 我学会的东西越多,我再学新的东西就只能越来越快。
升级自己的操作系统
命令模式就是将一组对象的相似行为,进行了抽象,将调用者与被调用者之间进行解耦,提高了应用的灵活性。命令模式将调用的目标对象的一些异构性给封装起来,通过统一的方式来为调用者提供服务。
1 | <?php |
1 | <?php |
1 | <?php |
1 | <?php |
1 |
|
代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不能看到的内容和服务或者添加客户需要的额外服务。
代理模式在很多情况下都非常有用,特别是你想强行控制一个对象的时候,比如延迟加载、监视状态变更的方法等等。
与类似接口的区别:
1 |
|
依赖注入模式需要在调用者外部完成容器创建以及容器中接口与实现类的运行时绑定工作,在 Laravel 中该容器就是服务容器,而接口与实现类的运行时绑定则在服务提供者中完成。此外,除了在调用者的构造函数中进行依赖注入外,还可以通过在调用者的方法中进行依赖注入。
1 | interface Shape |
1 |
|
1 |
|
1 | interface ServiceSetter |
1 | interface Shape |