设为首页 加入收藏

TOP

PHP设计模式(六)原型模式(Prototype For PHP)
2017-10-13 10:40:45 】 浏览:8430
Tags:PHP 设计模式 原型 模式 Prototype For

原型设计模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

原型设计模式简单的来说,顾名思义, 不去创建新的对象进而保留原型的一种设计模式。

 

缺点:
原型设计模式是的最主要的缺点就是这个克隆方法需要对类的功能进行检测,这对于全新的类来说较容易,但对已有的类进行改造时将不是件容易的事情;

 

interface Prototype {
    public function copy();
}

 

原型类:

class PrototypeDemo implements Prototype
{
    private $_name;

    public function __construct($name)
    {
        // 这里可能是复杂的逻辑
        $this->_name = $name;
    }

    public function getMul()
    {
        return $this->_name * $this->_name;
    }

    public function copy()
    {
        // 克隆后的逻辑
        $this->_name ++;
        return clone $this;
    }
}

 

客户类:  // 输入10  

// 客户类
class Client
{
    public function main()
    {
        $pro1 = new PrototypeDemo('10');
        echo $pro1->getMul();

        echo "<br>";

        $pro2 = $pro1->copy();
        echo $pro2->getMul();
    }
}

调用客户端:

$obj = new Client();
$obj->main();

输出结果:

100
121

 

显示传入10  然后 getMul 方法做 乘方运算 得到 10*10 = 100

然后克隆对象, 原型类的 copy 方法 被执行时, $_name 自增 1(克隆的逻辑) 后再去 做乘法运算,得到11*11 = 121

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇DDD领域驱动设计 - 设计文档模板 下一篇面向对象相关知识点xmind

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目