文档章节

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

eatnothing
 eatnothing
发布于 2015/10/18 20:53
字数 133
阅读 171
收藏 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设计模式(一):简介及创建型模式

我们分三篇文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式。 一、设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用、容易被他人理解的、可靠的代码设...

juhenj
2014/05/15
228
2
《PHP设计模式大全》系列分享专栏

《PHP设计模式大全》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201739.html 文章 php设计模式介绍之编程惯用法第1/3页 php设计模式介绍之值对象模式第1/5页...

kaixin_code
11/06
0
0
Java 中的 GoF 设计模式(第一部分)

为了理解 GoF(Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人组)的设计模式原理和历史,我制作了一个 10 分钟的短视频。(作为 PluralSight 作者试录的) 视频:https...

王桥修道院副院长
2017/02/13
2.6K
3
设计模式梳理(一)

设计模式梳理(一) 总体来说设计模式分为三大类: @案例源码地址:https://gitlab.com/lxqxsyu/DisgnPattern 创建型模式 简单工厂模式 工厂类是整个模式的关键。它包含必要的判断逻辑,能够...

lxq_xsyu
2017/11/02
0
0
设计模式Java Design Pattern-工厂方法模式FactoryMethod

我的博客 一、 设计模式的分类 大体可以分为三类: 创建型模式(5个) 单例模式、原型模式、工厂方法模式、抽象工厂模式、建造者模式 结构性模式(7个) 适配器模式、装饰器模式、代理模式、...

勇敢写信
03/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

No transaction aspect-managed TransactionStatus in scope

No transaction aspect-managed TransactionStatus in scope 如果当前事务操作的实现所在方法没有开启事务,就会报出这样的异常。 例如你在A方法调用B方法,B方法开启了事务,A方法没有开启事...

嘴角轻扬30
14分钟前
1
0
SpringBoot整合Redis Lettuce

最近在准备集成的基础框架使用Spring Boot2搭建,其中Redis的支持不仅仅是丰富了它的API,更是替换掉底层Jedis的依赖,取而代之换成了Lettuce(生菜) jedis跟lettuce的区别 Lettuce 和 Jedis ...

lemonLove
21分钟前
1
0
mysqldumpslow 慢查询日志分析工具

首先得配置my.cnf: #====================================================================================================================##=====================================......

吴伟祥
21分钟前
2
0
如何基于阿里云搭建适合初创企业的轻量级架构?

----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数,业务逻辑时刻在变,而且还要保证快速及时,所以,一个灵活多变、快速部署、持续集成并可以适应多种情况的...

阿里云云栖社区
22分钟前
1
0
SpringBoot基础教程4-1-1 使用JdbcTemplate操作数据库及事务管理

1 概述 SpringBoot封装的JdbcTemplate,使用模板模式,去除JDBC繁琐的重复代码,并提供了基于注解的事务管理;下面详细介绍如何使用JdbcTemplate操作数据和事务管理。 2 添加依赖 <dependenc...

Mkeeper
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部