单态设计模式 连接数据库的实例

<?php
// final class DB  //将类设置为final,禁止其他类继承它
class DB
{
    private static $obj = null;//声明一个私有的,静态的成员属性$obj
    private function __construct()
    {
        //私有构造方法,只能在类的内部实例化对象
        echo "连接数据库成功<br>";
    }
    public static function getInstance()
    {
        // 通过此静态方法才能获取本类的对象
        if( is_null(self::$obj) )   //如果本类中的$obj为空,说明还没有被实例化过
        {
            self::$obj = new self();  //实例化本类对象
        }
        return self::$obj;  //返回本类的对象
    }
    public function query($sql)
    {
        //执行SQL语句完成对数据库的操作
        echo $sql;
    }
}
$db = DB::getInstance();        //只能使用静态方法getInstance()去获取DB类的对象
$db -> query("select *from user");       //访问对象中的成员

?>
单态设计模式也叫单例模式:
1.单态设计模式含义:
单态模式的主要作用是保证在面向对象编程设计中,一个类只能有一个实例对象存在。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。
2.单台模式的三个关键点:
① 需要一个保存类的唯一实例的静态成员变量;
②构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义;
③必须提供一个访问这个实例的公共的静态方法(通常为getInstance方法),从而返回唯一实例的一个引用 。
时间: 2024-08-10 23:27:09

单态设计模式 连接数据库的实例的相关文章

JAVA单态设计模式

核心--在类的内部把构造器私有化,同时在内部产生对象,并通过类.静态方法(static)返回实例化对象的引用   设计模式是在大量的实践总结和理论化之后优选的代码结果,编程风格,以及解决问题的思考方式.设计模式就像是经典的棋谱,不同的棋局我们用不同的棋谱. 单态设计模式:采取一定的方法保证在整个软件系统中,对某个类只能产生一个对象实例,并且该类只提供一个取得其对象的实例方法. 在java中实现单态模式只需要执行以下三步:     1.将类的构造方法的访问权限声明为private.这样就不能用ne

PHP 单态设计模式复习

单态设计模式,也可以叫做单例设计模式, 就是一个类只能让它生成一个对象,避免重复的NEW,影响运行效率(每NEW一个对象都会在内存中开辟一块空间) 示例代码 <?php /* * 单态设计模式 */ class DB{ //声明一个私有的静态属性 private static $obj = null; //私有化构造方法,只能让他在内部声明 private function __construct(){ echo "连接数据库的过程<br>"; } //通过此静态方法

PHP 单态设计模式

称呼:单态设计模式.单例设计模式.单件设计模式(可别被面试时候问倒了哦) 概念:Singleton(单例)模式主要作用是保证在面向对象编程语言设计编写的程序中,一个类Class只有一个实例存在. 用途:在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作. 实现方法: (1)如果想让一个类,只能有一个对象,就要先让这个类不能创建对象,且不能被克隆(__clone),因此需要将构造方法以及克隆方法私有化 (2)在类中提供一个静态方法,来创建对象 (3)在类中提供一个静态属性,用于存储实例化

Java中单态设计模式

Java中单态设计模式 2011-09-23 16:38:46|  分类: Java |  标签:technology!  |举报|字号 订阅 此博文是转自新浪博客中一名叫做"俊俊的BLOG“用户的一篇博文.感觉此博文确实很不错,所以在此拿出来分享一下!(笔者只是对其所举的代码略做了一些修改) 一概念: 设计模式:设计模式是指经过大量的实践总结和理论化之后的优选的代码结构.编程风格.以及解决问题的思路. 单态设计模式:采取一定的方法保证在整个软件系统中,对某个类只能产生一个对象实例,并且该类只提

设计模式学习-及实例源码和电子书下载

从本篇博文讲述23中设计模式,对每种设计模式给出实例代码.本篇博文最后都会给出代码下载地址. 本博文的参考书是<设计模式之禅>和<大话设计模式>这两本书. 但是<大话设计模式>一书并不是使用java语言编写的,所以对于初级Java或者有一定java基础的人看起来并不直观,特别是对于没有设计模式概念的同学看起来有点费劲,还有一个不好的地方是里面的每种模式的讲述都是基于一定的情景下讲述的,还有大鸟和菜鸟冗余的对话,看起来真是冗余!!(注:这是个人的理解和感受!大家不喜的话勿

单态设计模式(Singleton pattern)

单态(单例)设计模式 单态设计模式(Singleton pattern)就是要保证在整个程序中某个类只能存在一个对象,这个类不能再创建第二个对象. 单态设计模式的写法 私有化构造函数,阻止创建新对象. 单例设计模式: 在内存中对象只有一个存在. */ //饿汉式 class Student { private Student(){} private static Student s = new Student(); public static Student getInstance() { re

Java单态设计模式,扫盲贴

class Person { String name; private static final Person p = new Person(); private Person() { name = "张三"; } public static Person getP() { return p; } } public class TestSingleDemo2 { public static void main(String args[]) { Person p = null; p =

C++使用ADO连接数据库及其实例

读写数据库的技术很多,现在多用ADO.ADO以COM方式提供,所以它的很多行为遵循COM规范.首先,要引入ADO的COM文件,它的位置一般在"C:/Program Files/Common Files/System/ado/msado15.dll". 1. 引入ADO 打开预编译头文件StdAfx.h,写上引入声明: #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace

php设计模式之单例模式实例(设计mysqli连接数据的数据处理类)

一直在研究php的设计模式,但是没有亲历使用过,所以还是一知半解,通过几天的学习终于对php的单例设计模式稍稍的有些了解,特此写出一个数据库处理类(只涉及到简单的原理),以便自己以后方便查阅,至于其他设计模式我会慢慢理解,然后会以实例的形式发布到该博客: /** * 单例模式 */ class Db{ private static $mysqli;//该类中的唯一一个实例 private function __construct(){}//防止在外部实例化该类 private function