php设计模式学习记录(下)

在php设计模式学习记录(上)中(http://blog.csdn.net/u014454539/article/details/44888307)我们介绍了工厂模式、单例模式、注册树模式、策略模式,使用这些php设计模

式,可以通过减少资源的使用,来降低对服务器的负荷,而同时这些设计模式也我们对代码的维护带来了更多的便捷。

今天我们继续介绍php设计模式。

5.原型模式

类似于工程模式,也是在创建对象的时候,以降低资源的分配而出的一种设计模式,在这种设计模式中,我们只需new一个初始化的对象,在接下来的工作中,如果还需要这个对象,我们只需要使用php clone的方法获得此对象即可。

<?php
	class ProtoType{

	}

	$protoType = new ProtoType;
	$test1 = clone $protoType;
	$test2 = clone $protoType;
?>

6.装饰器模式

可动态地添加修改类的功能,而这种动态添加修改的方式,相较于类的继承方法更加的灵活,在运行原代码时,只需增加一个装饰器对象,调用相应方法即可。

<?php
namespace IMooc;

class Test
{
    public $data;
    protected $decorators = array();
    //DrawDecorator类即为我们已编写好的装饰器类
    function addDecorator(DrawDecorator $decorator)
    {
        $this->decorators[] = $decorator;
    }

    function beforeHandle()
    {
        foreach($this->decorators as $decorator)
        {
            $decorator->beforeHandle();
        }
    }

    function afterHandle()
    {
        $decorators = array_reverse($this->decorators);
        foreach($decorators as $decorator)
        {
            $decorator->afterHandle();
        }
    }

    function myHandle()
    {
        
    }

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值