时间:2021-05-26
单例模式概念
单例模式是指整个应用中类只有一个对象实例的设计模式。
单例模式的特点
一个类在整个应用中只有一个实例
类必须自行创建这个实例
必须自行向整个系统提供这个实例
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();//把构造函数变为私有//做了一个方法来间接造对象//在该方法里面加限制工厂类
是指包含一个专门用来创建其他对象的方法的类,工厂类在多态性编程实践中是至关重要的,它允许动态的替换类,修改配置,通常会使应用程序更加灵活,熟练掌握工厂模式高级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("+");以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了PHP工厂模式、单例模式与注册树模式。分享给大家供大家参考,具体如下:三种基本设计模式1、工厂模式:工厂方法或者类生成对象,而不是在代码中直接ne
本文实例讲述了PHP设计模式之工厂模式与单例模式实现方法。分享给大家供大家参考,具体如下:设计模式简单说应对某类问题而设计的解决方式工厂模式:应对需求创建相应的
PHP单例模式详解单例模式的概念单例模式是指整个应用中某个类只有一个对象实例的设计模式。具体来说,作为对象的创建方式,单例模式确保某一个类只有一个实例,而且自行
java单例模式的实例详解概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点:
这篇文章主要介绍了PHP中数据库单例模式的实现代码分享,本文先是讲解了单例模式的一些知识,然后给出了数据库单例模式实现代码。什么是单例模式单例模式顾名思义,就是