zoukankan      html  css  js  c++  java
  • 设计模式案例(个人笔记)

    一、单例模式:

    <?php
    
    class Predis{
    
      public $redis = "";
    
      private static $_instance = null;
    
      public static function getInstance() {
    
        if(empty(self::$_instance)) {
    
          self::$_instance = new self();
    
        }
    
        return self::$_instance;
    
      }
    
     
    
      private function __construct() {
    
        $this->redis = new Redis();
    
        $result = $this->redis->connect(config('redis.host'), config('redis.port'), config('redis.timeOut'));
    
        if($result === false) {
    
          throw new Exception('redis connect error');
    
        }
    
      }
    
    }

    二、观察者模式

    <?php
    
    /**
     * 观察者模式
     */
    
    
    interface Observer
    {
        public function update();
    }
    
    abstract class EventGenerator
    {
        private $observers = [];
    
        public function addObserver(Observer $observer)
        {
            $this->observers[] = $observer;
        }
    
        public function notify()
        {
            foreach ($this->observers as $observer)
            {
                $observer->update();
            }
        }
    }
    
    // 事物生成类
    class Event extends EventGenerator
    {
        public function trigger()
        {
            echo "Event<br />
    ";
            $this->notify();
        }
    }
    
    //  观察者
    class Observer1 implements Observer
    {
        public function update()
        {
            echo "观察者1";
        }
    }
    
    class Observer2 implements Observer
    {
        public function update()
        {
            echo "观察者2";
        }
    }
    
    $event = new Event;
    $event->addObserver(new Observer1);
    $event->addObserver(new Observer2);
    $event->trigger();
  • 相关阅读:
    云端开发,云端部署
    Chrome下的Page Speed使用
    Linux的到来
    NoSQL 之 Morphia 操作 MongoDB
    qTip2
    在.NET下使用Task Parallel Library提高程序性能
    WCF REST系列文章汇总
    Google工具pagespeed使用教程
    从零开始系统深入学习android
    如何优化一个网站使之提高访问速度
  • 原文地址:https://www.cnblogs.com/zhengchuzhou/p/9617279.html
Copyright © 2011-2022 走看看