首页 > 代码库 > 设计模式-单例模式
设计模式-单例模式
说明:
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。
何时使用:当您想控制实例数目,节省系统资源的时候。
如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。
关键代码:构造函数是私有的。
PHP代码实例:
<?php class Mysql{ //该属性用来保存实例 private static $conn; //构造函数为private,防止创建对象 private function __construct(){ $this->conn = mysql_connect(‘localhost‘,‘root‘,‘‘); } //创建一个用来实例化对象的方法 public static function getInstance(){ if(!(self::$conn instanceof self)){ self::$conn = new self; } return self::$conn; } //防止对象被复制 public function __clone(){ trigger_error(‘Clone is not allowed !‘); } } //只能这样取得实例,不能new 和 clone $mysql = Mysql::getInstance(); ?>
JAVA代码实例:
public class SingleObject { //创建 SingleObject 的一个对象 private static SingleObject instance = new SingleObject(); //让构造函数为 private,这样该类就不会被实例化 private SingleObject(){} //获取唯一可用的对象 public static SingleObject getInstance(){ return instance; } public void showMessage(){ System.out.println("Hello World!"); } } //获取唯一可用的对象 SingleObject object = SingleObject.getInstance();
设计模式-单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。