文档章节

php实现注册器+工厂+单例模式

eatnothing
 eatnothing
发布于 2015/10/18 20:53
字数 133
阅读 170
收藏 7
<?php
//注册器模式
class Register{

    protetcted static $objects;
    //声明一个数组
    static function set($alias,$objects){
        self::objects[$alias]=$objects;
    }
    //销毁对象
    function _unset($name){
        unset($objects[$name]);
    }
    staitc function get($name){
    return self::$objects[$name];
    }
}
//单例模式
class database{
    protected static $db;
    static function getInstance(){
        if(self::$db){
        //如果对象存在则使用,不存在创建
        return self::$db;
        }else{
        return self::$db = new database();
        }
    }

}
//工厂模式
class Factory{

static function createDatabase(){
            //首先获取到创建的对象
    $db = database::getInstance();
    $db->set('db1',$db);
    return  $db;
}
}

$db =Factory::createDatabase();

 

 

© 著作权归作者所有

共有 人打赏支持
eatnothing
粉丝 37
博文 128
码字总数 68736
作品 0
昌平
程序员
加载中

评论(1)

eatnothing
eatnothing
diao
PHP设计模式(二)—工厂模式(Factor Pattern)

工厂模式(Factor Pattern),就是负责生成其他对象的类或方法,也叫工厂方法模式 抽象工厂模式( Abstract Factor Pattern),可简单理解为工厂模式的升级版 (一)为什么需要工厂模式 1,工厂模式...

刀斧手何在
2017/05/06
0
0
设计模式: Java中的工厂设计模式

原文链接 https://github.com/shellhub/blog/issues/22 前言 工厂设计模式(Factory Design Pattern)属于创建模式之一,工厂设计模式在JDK,Spring,Stuts被广泛使用 当一个类或者接口有多个子类...

shellhub
08/22
0
0
php各种设计模式简单实践思考

前言 我一直觉得什么框架,版本,甚至语言对于一个coder来说真的不算什么,掌握一个特别高大上的一个框架或者是一个新的,少众的语言真的不算什么,因为你可以,我要花时间也可以,大家都是这...

michaelgbw
2016/06/13
0
0
编程中的那些套路——关于工厂模式

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 前面我们写了简单工厂模式,《编程中的那些套路——关于简单工厂模式》,但简单工厂模式有一些不足(违反...

gzchen
08/27
0
0
JAVA基础再回首(二十六)——面向对象思想设计原则、设计模式、简单工厂模式、工厂方法模式、单例设计模式之饿汉式和懒汉式、Runtime类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52717096 JAVA基础再回首(二十六)——面向对象思想设计原则、设计模式、简单工厂模...

Aduroidpc
2016/10/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

通过ajax访问远程天气预报服务

http://www.webxml.com.cn/zh_cn/index.aspx 更改wsdl文件 打开文件将15行,51行,101行去掉 然后把文件复制到c盘 然后在桌面上面就生成了文件 将文件打成jar包 package cn.it.ws.weather;...

江戸川
今天
1
0
聊聊storm的tickTuple

序 本文主要研究一下storm的tickTuple 实例 TickWordCountBolt public class TickWordCountBolt extends BaseBasicBolt { private static final Logger LOGGER = LoggerFactory.getLogg......

go4it
今天
1
0
自动装箱和自动拆箱

自动装箱和自动拆箱 Java 提供了 8 种基本数据类型,每种数据类型都有其对应的包装类型,包装类是面向对象的类,是一种高级的数据类型,可以进行一些比较复杂的操作,它们是引用类型而不再基...

tsmyk0715
今天
2
0
简易审计系统

1、有时候我们需要对线上用户的操作进行记录,可以进行追踪,出现问题追究责任,但是linux自带的history并不会实时的记录(仅仅在内存中,当用户正常退出(exit logout )时才会记录到history文件里...

芬野de博客
今天
3
0
Qt那些事0.0.6

QML中使用Image,在设置source的后,通过Qt Quick2 Preview(qmlscene)遇到了图片找不到的问题: Image { id: success_img anchors.centerIn: parent ...

Ev4n
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部