实现一个类只能被实例化一次
2016-07-30 17:30
288 查看
单例模式:达到只有一个实例
代码如下:
工厂模式:专门用于生产对象
代码如下:
<?php
class C {
}
class Factory {
private static $instances;//保存所有的实例
public static function getInstance($class_name) {
$class_name = strtolower($class_name);//将所有的都转换成小写
if(!isset(self::$instances[$class_name])) {
self::$instances[$class_name] = new $class_name;
}
return self::$instances[$class_name];
}
}
$c1 = Factory::getInstance('C');
?>
代码如下:
<?php class C{ private static $_instance; private function __construct(){ } public static function getInstance(){ if(!(self::$_instance instanceof self)){ self::$_instance = new self; } return self::$_instance; } } $o = C::getInstance(); ?>
工厂模式:专门用于生产对象
代码如下:
<?php
class C {
}
class Factory {
private static $instances;//保存所有的实例
public static function getInstance($class_name) {
$class_name = strtolower($class_name);//将所有的都转换成小写
if(!isset(self::$instances[$class_name])) {
self::$instances[$class_name] = new $class_name;
}
return self::$instances[$class_name];
}
}
$c1 = Factory::getInstance('C');
?>
相关文章推荐
- 用C#实现一个类,要求该类只能被实例化一次
- 实现一个只能实例化一次的类 即 单例模式(Singleton)
- asp实现限制一个ip只能访问一次的方法
- django 实现同一个ip十分钟内只能注册一次(redis版本)
- django 实现同一个ip十分钟内只能注册一次
- Python编程django实现同一个ip十分钟内只能注册一次
- 使用Session实现一个用户只能登录一次
- 使用逻辑数据库PCH的时候,如何实现一次只能选择一个OBJID的效果?
- 一个程序只能启动一次实现
- django实现同一个ip十分钟内只能注册一次的实例
- C#实现一次只能打开一个客户端以及关闭自动重启的问题
- C语言实现的一个程序只能运行一次,不能重复运行
- 一个用户只能在一部机里登陆一次
- 只能实现一个单词,且最后带“.”,逆序如:ASbsa.运行得到:.asbSA
- Winform中同一窗口只能弹出一次的实现
- 类只能实例化一次
- javascript实现一个IP只弹窗一次代码
- c# 程序只能运行一次(多次运行只能打开同一个程序) 并激活第一个实例,使其获得焦点,并在最前端显示.
- C#应用程序只能打开一次,应用程序只能打开一个,应用程序不能重复打开
- [技巧] C#实现让程序只能打开一个实例(总结3方法)