单元素模式其实就是只有一个对象
2014-10-31 00:00
218 查看
单元素模式是应用程序包含且仅包含一个对象
header('Content-Type:text/html;charset=utf-8');
class mysqlDB{
public function conn(){
echo "mysql";
}
}
class database{
public static $db = null;
private function __construct(){}
private function __clone(){}
public static function init(){
if(self::$db == null){
self::$db = new mysqlDB();
}
return self::$db;
}
}
$b = database::init();
echo $b->conn();
此代码中不能创建实例,更不能克隆对象,只能通过调用静态方法来创建对象
header('Content-Type:text/html;charset=utf-8');
class mysqlDB{
public function conn(){
echo "mysql";
}
}
class database{
public static $db = null;
private function __construct(){}
private function __clone(){}
public static function init(){
if(self::$db == null){
self::$db = new mysqlDB();
}
return self::$db;
}
}
$b = database::init();
echo $b->conn();
此代码中不能创建实例,更不能克隆对象,只能通过调用静态方法来创建对象
相关文章推荐
- 定义一个单例模式的类,在这个类中,只有唯一的实例,不能new出来其他的实例对象。
- 使用java Reflection机制使单例模式不再只有一个对象的实例
- 设计模式之原型模式(其实就是一个克隆)
- C++设计模式5--单例模式Singleton--当前对象只有一个实例 .
- 确保类只有一个唯一对象,单件模式
- 黑马程序员:单态设计模式static(使类在内存只有一个实例对象)
- Unicode其实是Latin1的扩展。只有一个低字节的Uncode字符其实就是Latin1字符——附各种字符编码表及转换表
- 迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。
- C++设计模式5--单例模式Singleton--当前对象只有一个实例
- Web项目中使用NLog记录日志,利用单件模式控制整个项目只有一个Logger对象的问题
- 用了接近一天的程序看懂了堆排序,堆排序的“筛选”的前提条件是一个大(小)顶堆,只有堆顶的元素不是有序的。这样从堆顶开始的排序才是筛选。而堆排序就是反复筛选的程序。
- 设计模式之Singleton模式【类只有一个对象】
- Java单例设计模式(实现Java的一个类只有一个对象)
- 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)
- 写一个方法进行各种属性的更新,而不要每个界面设置改变都改变一个属性。就是点击应用或确定按钮时调用这个更新属性的方法,遍历所有(控制对象属性的)界面控件的状态(值),进行属性修改和刷新。
- JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
- Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗?
- form中只有一个input元素时按回车默认提交表单
- HQL多表联合查询,两个表的元素怎样组合并压入一个对象中
- (转)Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗?