首先說明一下, 設計模式不侷限於語言之間, 思想一致, 都是為了更好的解決軟體設計中的問題, 博主這裡使用php
做示例, 其他語言中如果設計方式有不一樣的會進行說明的。
單例模式是設計模式中非常常用的一種設計方案, 顧名思義就是只有乙個例項。單例模式確保某乙個類只有乙個例項,不能重複例項,只能它自己例項化,而且向整個系統提供這個例項。
乙個類只被例項化一次,當其他人對其再次例項化時,返回第一次例項化的物件,可以避免大量的new
操作,減少資源的消耗,典型應用於資料庫類的例項化。
一般就是三私一公
<?php
/** * created by 憧憬.
*/class singleton
//公有屬性,用於測試
public $name;
/*** 公有方法,用於獲取例項
* @return singleton
* @author: 憧憬
*/public static function getinstance()
return self::$instance;
}//轉殖方法私有化,防止複製例項
private function __clone(){}
}$instance = singleton::getinstance();
$instance->name = '這是例項化的第乙個物件, 然後給他設定屬性值';
$newinstance = singleton::getinstance();
$newinstance->name = '新物件進行修改';
echo $newinstance->name; // 新物件進行修改
echo $instance->name; // 新物件進行修改
設計模式 單例模式
單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...
設計模式 單例模式
class testsingleton static public function instance return self testsingleton private function clone public function setsinvar sinvar public function ...
設計模式 單例模式
單例模式的目的是保證類在系統中只被例項化一次,由該唯一的例項來為系統提供服務.單例模式主要用於保證服務的統一,比如獲取統一的編號服務,模仿oracle的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...