• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP中单例模式与工厂模式

php 搞代码 3年前 (2022-01-22) 21次浏览 已收录 0个评论
文章目录[隐藏]

单例模式概念

单例模式是指整个应用中类只有一个对象实例的设计模式。

单例模式的特点

  一个类在整个应用中只有一个实例

  类必须自行创建这个实例

  必须自行向整个系统提供这个实例

php中使用单例模式的原因

我用php大部分操作都是和各种数据库打交道,包括mysql,redis,memcache等各种关系型和非关系型数据库,所以一个应用中会 存在大量连接数据库的操作,如果不用单例模式,那每次都要new操作,但是每次new都会消耗大量的内存资源和系统资源,而且每次打开和关闭数据库连接都 是对数据库的一种极大考验和浪费。

  需要一个保存类的唯一实例的静态成员变量(通常$instance为私有变量)

  构造函数和克隆函数必须声明为私有的,为了防止外部程序new类从而失去单例模式意义

  必须提供一个访问这个实例的公共静态方法,从而返回唯一实例的一个引用

//设计模式//单例模式  都是使用同一个对象//class Ren//{//    public $name;//    private static $dx;   //存储对象////    private function __construct()//    {////    }////    public static function DuiXiang()//    {//        if(empty(self::$dx))//        {//            self:;$dx=new Ren();//        }//        return self::$dx;//    }//}////$r= Ren::DuiXiang();//把构造函数变为私有//做了一个方法来间接造对象//在该方法里面加限制

工厂类

  是指包含一个专门用来创建其他对象的方法的类,工厂类在多态性编程实践中是至关重要的,它允许动态的替换类,修改配置,通常会使·本2文来源gaodai$ma#com搞$代*码网2搞gaodaima代码应用程序更加灵活,熟练掌握工厂模式高级PHP开发人员是很重要的。

工厂模式通常用来返回符合类似接口的不同的类,工厂的一种常见用法就是创建多态的提供者,从而允许我们基于应用程序逻辑或者配置设置来决定应实例化哪一个类,例如,可以使用这样的提供者来扩展一个类,而不需要重构应用程序的其他部分,从而使用新的扩展后的名称 。

通常,工厂模式有一个关键的构造,根据一般原则命名为Factory的静态方法,然而这只是一种原则,工厂方法可以任意命名,这个静态还可以接受任意数据的参数,必须返回一个对象。

class YunSuan{    public $a;    public $b;    function Suan()    {        echo "对两个数进行运算";    }
class gongchang{   //功能 : 给一个参数,返回一个对象    static function chanpin($name)    {        switch($name)        {            case "'+":                return new jia();                break;            case "-";                return new jian();                break;        }    }}$a=gongchang::chanpin("+");

更多PHP中单例模式与工厂模式相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP中单例模式与工厂模式

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址