其实这个设计模式我在java开发的时候用的比较多,因为文件的I/O用的就是装饰模式,今天用PHP讲解一下装饰模式这个东西,我在网上下载了一个类图大家看一下也许就明白了!
下边是代码,第一个是base类图也就是基类!
<?php
interface base{
public function show();
}
第二个人物的 也就是实现基类的
<?php
class ren implements base{
public function show(){
echo "肖伟";
}
}
第三个是装饰类
<?php
interface zhuangshi extends base{
public function show();
}
第四个是实现装饰类的
<?php
class maozi implements zhuangshi{
private $ren;
public function __construct($ren){
$this->ren = $ren;
}
public function show(){
echo "带帽子";
$this->ren->show();
}
}
第五个也是实现装饰类 包装人类的
<?php
class yifu implements zhuangshi{
private $ren;
public function __construct($ren){
$this->ren = $ren;
}
public function show(){
echo "穿衣服";
$this->ren->show();
}
}
第六个就是生产环境也就是使用环境
<?php
header("content-type:text/html;charset=utf-8");
function __autoload($classname){
require $classname.".class.php";
}
$ren = new maozi(new yifu(new ren()));
$ren->show();
大家测试一下然后手动谢谢试试!

发表评论 取消回复