用户登陆|用户注册|建站服务|广告合作
您现在的位置: 首页 >> 建站实务 >> 网络编程 >> PHP篇 >> 正文
站内搜索:
php设计模式介绍之工厂模式
[作者:h058翻译|时间:2008-06-10| 收藏 投稿 ]【

下面是工厂的另一种变化,你静态地调用了一个工厂类:

class Product {
function getList() {
$db =& DbConnectionBroker::getConnection();
//...
}
}
class DbConnectionBroker {
function &getConnection() {
return new MysqlConnection(DB_USER, DB_PW, DB_NAME);
}
}

 这里DbConnectionBroker::getConnection()产生的效果和前面的一样 ,但这样却很有好处: 我们不必在每个需要连接数据库的类中加入调用new MysqlConnection(DB_USER , DB_PW, DB_NAME)的方法。

当然另一种变化就是引用一个外部工厂对象的资源,和这个对象定义了数据库连接的参数:

 



最后,一个工厂可以用一个函数合理的组织,然后实现:

class Product {
var $_db_maker;
function setDbFactory(&$connection_factory) {
$this->_db_maker =& $connection_factory;
}
function getList() {
$db =& $this->_db_maker->getConnection();
//...
}
}

 

 

function &make_db_conn() {
return new MysqlConnection(DB_USER, DB_PW, DB_NAME);
}
class Product {
function getList() {
$bar =& make_db_conn();
//...
}
}

下面是一个工厂的理想化执行的 UML 类图


Tags:php   设计模式   工厂模式  
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
快速注册通道
赛酷网·中国西部第一建站门户
关于我们 | 投稿指南 | 广告服务 | 建站服务 | 联系我们 | 网站地图 | 友情连接 | 诚征英才
地址:中国·昆明盘龙区丽水天锦A栋15楼A06 服务热线:0871-5610002 5732371联系我55693344 联系我80796509
建站交流群:17577271 下载交流群:11885804 22003060 35468519 交流论坛
© CopyRight 2005-2007, Syku.Net, Inc. All Rights Reserved
赛酷网络版权所有 滇ICP备05000398号