最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

php工厂模式和单例模式区别

来源:懂视网 责编:小采 时间:2020-11-27 14:43:02
文档

php工厂模式和单例模式区别

php工厂模式和单例模式区别:php工厂模式和单例模式区别单例模式:防止重复实例化,避免大量的new操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象header("Content-type: text/html; charset=utf-8"); //定义字符编码,防止乱码 /** * 单利类 */ c
推荐度:
导读php工厂模式和单例模式区别:php工厂模式和单例模式区别单例模式:防止重复实例化,避免大量的new操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象header("Content-type: text/html; charset=utf-8"); //定义字符编码,防止乱码 /** * 单利类 */ c

php工厂模式和单例模式区别

单例模式:防止重复实例化,避免大量的new操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象

header("Content-type: text/html; charset=utf-8"); //定义字符编码,防止乱码
/**
 * 单利类
 */
class Single
{
 private static $_instance; //保存实例的对象
 
 
 private function __construct() //定义构造方法
 {
 
 }
 
 private function __clone() //定义一个空方法防止被外部克隆
 { 
 
 }
 
 
 public static function getInstance() //定义一个获取实例对象的方法
 {
 if (!(self::$_instance instanceof Single)) {
 self::$_instance = new self();
 }
 return self::$_instance; //返回实例对象
 }
 
 /**
 * 测试方法
 */
 public function test()
 {
 echo "单利模式";
 }
 
}
 
 
$run=Single::getInstance();
$run->test();

工厂模式:用工厂方法代替new操作的一种模式,如果需要更改所实例化的类名,只需在工厂方法内修改,不需逐一寻找代码中具体实例化的地方

header("content-type:text/html;charset=utf-8"); //定义字符编码,防止乱码
/**
 * 测试类一
 */
class demo1
{
 //定义一个test1方法
 public function test1()
 {
 echo '这是demo1类的test1方法'.PHP_EOL;
 }
}
/**
 * 测试类二
 */
class demo2
{
 //定义一个test2方法
 public function test2()
 {
 echo '这是demo2类的test2方法'.PHP_EOL;
 }
}
/**
 * 工厂类
 */
class Factoty
{
 // 根据传参类名,创建对应的对象
 static function createObject($className)
 {
 return new $className();
 }
}
/**
 * 通过传类名,调用工厂类里面的创建对象方法
 */
$demo = Factoty::createObject('demo1');
$demo->test1(); //
输出这是demo1类的test1方法 $demo = Factoty::createObject('demo2'); $demo->test2(); //输出这是demo2类的test2方法

更多PHP知识,请访问PHP中文网!

文档

php工厂模式和单例模式区别

php工厂模式和单例模式区别:php工厂模式和单例模式区别单例模式:防止重复实例化,避免大量的new操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象header("Content-type: text/html; charset=utf-8"); //定义字符编码,防止乱码 /** * 单利类 */ c
推荐度:
标签: 模式 区别 php
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top