PHP建造者模式(Builder Pattern)

<?php
/*------------------------------------------------
 *  Summary: PHP Builder Pattern
 *  Author: fanyh
 *  CreateTime: 2009-08-29
 *  LastModifed:2009-08-29
 *  copyright (c)2009 fan.lnyh@gmail.com
 --------------------------------------------------*/
include('init.php');
interface IBuilder{
 public function carPart1() ;
 public function carPart2() ;
 public function carPart3() ;
 
 public function TainPart1() ;
 public function TainPart2() ;
}

abstract class Builder implements IBuilder {
 public function carPart1(){}
 public function carPart2(){}
 public function carPart3(){}
 
 public function TainPart1(){}
 public function TainPart2(){}
}
class Car{
 public function buildCar(){
  echo 'Car造出来了!' ;
  echo '<br>' ;
 }
}
class Tain{
 public function builderTain(){
  echo 'Tain造出来了!' ;
  echo '<br>' ;
 }
}
class BuilderCar extends Builder {

 public function carPart1(){
  echo '造部件1......' ;
  echo '<br>' ;
 }
 public function carPart2(){
  echo '造部件2......' ;
  echo '<br>' ;
 }
 public function carPart3(){
  echo '造部件3......' ;
  echo '<br>' ;
 }
}
class BuilderTain extends Builder {
 public function TainPart1(){
  echo '造部件1......' ;
  echo '<br>' ;
 }
 public function TainPart2(){
  echo '造部件2......' ;
  echo '<br>' ;
 }
}
class Director {
 public function buildCar(){
  $builderCar = new BuilderCar() ;
  $builderCar->carPart1();
  $builderCar->carPart2();
  $builderCar->carPart3();
  $car = new Car() ;
  $car->BuildCar();
 }
 public function buildTain(){
  $builderTain = new BuilderTain() ;
  $builderTain->TainPart1();
  $builderTain->TainPart2();
  $tain = new Tain() ;
  $tain->builderTain();
 }
}

$director = new Director() ;
$director->buildCar();
echo '<br>' ;
$director->buildTain();
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值