策略模式--单一模式

前端之家收集整理的这篇文章主要介绍了策略模式--单一模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

单例模式是指在应用程序的范围内只对指定的类创建一个实例。
单例模式包含的对象只有一个,就是单例本身。使用单例模式的类通常有一个私有的构造函数和一个私有的克隆函数,确保用户无法通过创建对象或者克隆的方法对其进行实例化。除此以外模式中还包括一个静态私有成员变量$instance 与静态方法getInstance. getInstance 方法负责对其本身实例化,然后将这个对象存储在$instance静态变量中,以确保只有一个实例被创建。

以下是一个简单的单例模式例子,通过对单例属性$switch的设置实现了对开关状态的改变。

  1. <?PHP
  2. class Lock
  3. {
  4. static private $instance = NULL;
  5. private $switch = 0;
  6.  
  7. static function getInstance(){
  8. if(self::$instance == NULL){
  9. self::$instance = new Lock();
  10. }
  11. return self::$instance;
  12. }
  13. private function Lock()
  14. {
  15. }
  16. private function _clone()
  17. {}
  18. function setLock()
  19. {
  20. if($this->switch == 0)
  21. {
  22. $this->switch = 1;
  23. }
  24. else $this->switch = 0;
  25. }
  26.  
  27. function getLock()
  28. {
  29. return $this->switch;
  30. }
  31.  
  32. Lock::getInstance()->setLock();
  33.  
  34. if(Lock::getInstance()->getLock() == 0)
  35. echo "开关状态:关";
  36. else
  37. echo "开关状态:开";
  38. }
  39. ?>

猜你在找的设计模式相关文章