大话设计模式第十三章---建造者模式比较
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了大话设计模式第十三章---建造者模式比较,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1727字,纯文字阅读大概需要3分钟。
内容图文
![大话设计模式第十三章---建造者模式比较](/upload/InfoBanner/zyjiaocheng/1065/b6f0a96dc5d34fd595660e23531a7079.jpg)
<?php class Product { private$_parts = array(); publicfunction add(string$part) { $this->_parts[] = $part; } publicfunction show() { echo "\n PRODUCT CREATEING...<br/>"; foreach ($this->_parts as$part) { echo$part; echo "<br/>"; } } } abstractclass Builder { abstractfunction build_part_A(); abstractfunction build_part_B(); abstractfunction get_result(): Product; } class Concrete_builder_one extends Builder { private$_product = null; publicfunction __construct() { $this->_product = new Product(); } publicfunction build_part_A() { $this->_product->add(‘PART A‘); } publicfunction build_part_B() { $this->_product->add(‘PART B‘); } publicfunction get_result() : Product { return$this->_product; } } class Concrete_builder_two extends Builder { private$_product = null; publicfunction __construct() { $this->_product = new Product(); } publicfunction build_part_A() { $this->_product->add(‘PART X‘); } publicfunction build_part_B() { $this->_product->add(‘PART Y‘); } publicfunction get_result() : Product { return$this->_product; } } class Director { publicfunction concrete(Builder $builder) { $builder->build_part_A(); $builder->build_part_B(); } } //CLIENT CODE$director = new Director(); $b1 = new Concrete_builder_one(); $b2 = new Concrete_builder_two(); $director->concrete($b1); $product1 = $b1->get_result(); $product1->show(); $director->concrete($b2); $product2 = $b2->get_result(); $product2->show();
建造者模式:
将一个复杂对象的构建与它的表示分离,使得同样的建造过程可以创建不同的表示。
如果我们用了建造者模式,那么用户就只需要指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。
Director,指挥者,它是构建一个使用Builder接口的对象。在Director中完成部件的装配(即建造过程)!!
原文:http://www.cnblogs.com/wy0314/p/4773279.html
内容总结
以上是互联网集市为您收集整理的大话设计模式第十三章---建造者模式比较全部内容,希望文章能够帮你解决大话设计模式第十三章---建造者模式比较所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。