PHP编程:浅析php创建者模式
发布时间:2020-12-13 02:12:41 所属栏目:PHP教程 来源:网络整理
导读:《浅析php创建者模式》要点: 本文介绍了浅析php创建者模式,希望对您有用。如果有疑问,可以联系我们。 PHP教程 创建者模式: PHP教程 在创建者模式中,客户端不再负责对象的创建与组装,而是把这个对象创建的责任交给其具体的创建者类,把组装的责任交给组装类
《浅析php创建者模式》要点: PHP教程创建者模式: PHP教程在创建者模式中,客户端不再负责对象的创建与组装,而是把这个对象创建的责任交给其具体的创建者类,把组装的责任交给组装类,客户端支付对对象的调用,从而明确了各个类的职责.
代码如下:
<?php /** ?* 创建者模式 ?*/ //购物车 class ShoppingCart { ?????? //选中的商品 ??? private $_goods = array(); ??? //使用的优惠券 ??? private $_tickets = array(); ?????? public function addGoods($goods) { ????????????? $this->_goods[] = $goods; ?????? } ??? public function addTicket($ticket) { ?????????? $this->_tickets[] = $ticket; ??? } ??? public function printInfo() { ?????????? printf("goods:%s,tickets:%sn",implode(',',$this->_goods),$this->_tickets)); ??? } } //假如我们要还原购物车的东西,好比用户关闭浏览器后再打开时会根据cookie还原 $data = array( ?????? 'goods' => array('衣服','鞋子'), ?????? 'tickets' => array('减10'), ); //如果不使用创建者模式,则需要业务类里一步步还原购物车 // $cart = new ShoppingCart(); // foreach ($data['goods'] as $goods) { //?? $cart->addGoods($goods); // } // foreach ($data['tickets'] as $ticket) { //?? $cart->addTicket($ticket); // } // $cart->printInfo(); // exit; //我们提供创建者类来封装购物车的数据组装 class CardBuilder { ?????? private $_card; ?????? function __construct($card) { ????????????? $this->_card = $card; ?????? } ?????? function build($data) { ????????????? foreach ($data['goods'] as $goods) { ???????????????????? $this->_card->addGoods($goods); ????????????? } ????????????? foreach ($data['tickets'] as $ticket) { ???????????????????? $this->_card->addTicket($ticket); ????????????? } ?????? } ?????? function getCrad() { ????????????? return $this->_card; ?????? } } $cart = new ShoppingCart(); $builder = new CardBuilder($cart); $builder->build($data); echo "after builder:n"; $cart->printInfo(); ?> PHP教程可以看出,使用创建者模式对内部数据复杂的对象封装数据组装过程后,对外接口就会非常简单和规范,增加修改新数据项也不会对外部造成任何影响. 《浅析php创建者模式》是否对您有启发,欢迎查看更多与《浅析php创建者模式》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |