课程名称 :大话PHP设计模式
课程章节:三种基础设计模式
讲师:Rango
课程内容:
1.工厂模式:工厂方法或者类生成对象,而不是在代码中直接new
用工厂方法或者类来实例化对象,而不是直接new。
首先我们需要创建一个工厂类,比如Factory.php。如果不使用工厂模式的,我们需要一个对象的时候通常需要
new Inexistence\girlfriend();
然而我们一般不只在一个地方需要这个对象,这个时候一旦对象发生变更,或者对象的某些属性发生变化,我们就需要一个一个的来改,非常麻烦。这个时候我们引入工厂类,在Factory.php中然后每次调用时$GF1 = Imagination\Factory::getGirlfriend()就可以避免四处修改的问题。
在Laravel中这样的设计模式很常见。
2.单例模式:使某个类的对象仅允许创建一个
即确保某个类的对象仅被创建一次。比如我们在database里面存了很多女生的联系方式,如果我们用pdo的话每次查找都会new一个对象,势必会造成资源的浪费。所以我们就在connect之前做个判断。
3.注册模式:全局共享和交换对象
解决全局共享和交换对象的问题。实际上就是把实例好的对象放进一个数组,在任何地方要用的时候就去出来。就好比有一课树,我们把new好的$GF1,$GF2。。。一个一个挂上去,要用的时候再取出来。
课程收获 :
掌握了几种基础的设计模式,设计模式在我们用的框架里面经常会用到,我们平时在编程时可以考虑用一些设计模式,使我们的代码高可用,整洁高效。