zoukankan      html  css  js  c++  java
  • 三大设计模式简单入门

    三大设计模式简单入门


    class Single{
        //定义一个属性
        public $siteName;
        //本类的静态实例
        protected static $instance = null;
        //私有的构造方法
        private function __construct($siteName=''){
            $this->siteName = $siteName;
        }
            
        
        //获取本类的唯一实例
        public static function getInstance($siteName='PHP'){
            if(!self::$instance instanceof self){
                self::$instance = new self($siteName);
            }    
            return self::$instance;        
        }
    }
    
    //工厂模式
    class Factory{
        //创建指定类的实例
        public static function create(){
            return Single::getInstance('HTML JS CSS');
        }
    
    }
    
    //注册树模式
    class Register{
        public static $obj = [];
        public static function set($alias,$objects){
            self::$obj[$alias] = $objects;    
        }    
        public static function get($alias){
            return self::$obj[$alias];    
        }
        public static function _unset($aliass){
            unset(self::$obj[$alias]);    
        }
    }
    
    //注册一个hello类的实例,放到对象池
    Register::set('hello',Factory::create());
    //从对象池中获取hello类
    $obj = Register::get('hello');
    //查看属性
    var_dump($obj->siteName);

  • 相关阅读:
    【JZOJ4743】积木【状压dp】
    学生增删改查练习
    Java关键字
    集合基本知识
    简单模拟用户登录
    遍历输入的字符串
    字符串截取
    equals与equalsIgnoreCase
    StringBuilder成员方法
    StringBuilder
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9994115.html
Copyright © 2011-2022 走看看