php设计模式 Factory(工厂模式)


Posted in PHP onJune 26, 2011
<?php 
/** 
* 工厂方法模式 
* 
* 定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类 
*/ /* 
class DBFactory 
{ 
public static function create($type) 
{ 
swtich($type) 
{ 
case "Mysql": 
return new MysqlDB(); break; 
case "Postgre": 
return new PostgreDB(); break; 
case "Mssql": 
return new MssqlDB(); break; 
} 
} 
} 
*/ 
class DBFactory 
{ 
public static function create($type) 
{ 
$class = $type."DB"; 
return new $class; 
} 
} 
interface DB 
{ 
public function connect(); 
public function exec(); 
} 
class MysqlDB implements DB 
{ 
public function __construct() { 
echo "mysql db<br/>"; 
} 
public function connect() { 
} 
public function exec() { 
} 
} 
class PostgreDB implements DB 
{ 
public function __construct() { 
echo "Postgre db<br/>"; 
} 
public function connect() { 
} 
public function exec() { 
} 
} 
class MssqlDB implements DB 
{ 
public function __construct() { 
echo "mssql db<br/>"; 
} 
public function connect() { 
} 
public function exec() { 
} 
} 
$oMysql = DBFactory::create("Mysql"); 
$oPostgre = DBFactory::create("Postgre"); 
$oMssql = DBFactory::create("Mssql");
PHP 相关文章推荐
国内php原创论坛
Oct 09 PHP
smarty静态实验表明,网络上是错的~呵呵
Nov 25 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
php学习笔记之面向对象编程
Dec 29 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
windows下apache搭建php开发环境
Aug 27 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 #PHP
php设计模式 Strategy(策略模式)
Jun 26 #PHP
php设计模式 Observer(观察者模式)
Jun 26 #PHP
php设计模式 Singleton(单例模式)
Jun 26 #PHP
php设计模式 Command(命令模式)
Jun 26 #PHP
php设计模式 Template (模板模式)
Jun 26 #PHP
php设计模式 Proxy (代理模式)
Jun 26 #PHP
You might like
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
PHP正则验证Email的方法
2015/06/15 PHP
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
jquery中radio checked问题
2015/03/16 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
Python3匿名函数用法示例
2018/07/25 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
大学军训通讯稿
2014/01/13 职场文书
合作协议书
2014/04/23 职场文书
企业挂职心得体会
2014/09/10 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
JavaScript原型链详解
2021/11/07 Javascript