PHP常见的设计模式一

单例模式

单例模式就是:当前的类只能被实例一次。通过单例模式我们系统的一个类只能被实例一次,从而对类的实例进行控制,进而达到节约系统资源的效果。

实现单列模式的要素

1、私有化构造函数;

2、私有化克隆函数;

3、设置一个静态方法,对类进行实例;

4、设置一个静态属性,保存当前类是否被实例过,如果没有就实例,有就直接用;

代码实现:

单例模式的适用场景:

比如我们的windows弹窗,如果不对他进行控制,那么页面全是弹窗。我们经常看到的弹窗,一样的话他只弹一次,这里就用了单例模式。

单例模式的缺点:

就是不适用变化的对对象,适用于不变的对象;

工厂模式

工厂模式就是根据不同的条件来生成不同的对象,工厂模式其实就是一个生产类,你给他什么他就给你生成什么,和我们实际的工厂是一样的。

代码实现:

工厂模式详解:

 工厂模式其实是一个解耦的过程,他把类的实例和创建分开。比如现在A类调用B类的方法,只需要调用B类的方法,不用再去实例B类。工厂模式还可以减少代码的重复,比如现在B类的代码很复杂,并且在很多地方用到,我们可以将B类的代码拿到工厂里去维护,以后要修改,直接在工厂里修改,统一使用。还有一种情况,就是我们之前调用B类全部改成B类的子类,我们只需要将实例对象进行修改即可;

最好的列子就是我们看到框架里的数据库访问,我们只配置数据的基本信息,不用管数据库对象是怎么实例的。比如访问Mysql,我们只配置Mysql的信息,就可以访问。访问Oracle,也只是配置信息;

猜你喜欢

转载自www.cnblogs.com/meichao/p/9150170.html