設計模式 單例模式

2021-10-08 10:50:42 字數 927 閱讀 7074

首先說明一下, 設計模式不侷限於語言之間, 思想一致, 都是為了更好的解決軟體設計中的問題, 博主這裡使用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的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...