
原型(Prototype)

Prototype原型模式是一种创新设计模式. 原型模式允许对象创建另一个可自定义对象,而无需知道如何创建它的任何细节. 工作原理是: 通过将原型对象传递给该启动创建的对象. 通过请求原型对象复制自身来创建要启动的对象.

解决了什么问题

它面临的主要问题是: 创建“一些结构复杂的对象”;由于需求的变化,这些对象通常面临巨大的变化,但是它们具有相对稳定和一致的界面.

php提供的clone()方法用于实现对象克隆原型模式,因此原型模式的实现变得非常简单. 您可以使用php的__clone()函数完成深度克隆.
代码示例
<?php
//定义原型类接口
interface prototype{
public function copy();
}
//一个具体的业务类并实现了prototype 接口
//以一个文本的读写操作类为例
class text implements prototype{
private $_fileUrl;
public function __construct($fileUrl){
$this->_fileUrl = $fileUrl;
}
public function write($content){
file_put_contents($this->_fileUrl, $content);
}
public function read(){
return file_get_contents($this->_fileUrl);
}
public function copy(){
return clone $this;
}
/* 可以使用php的__clone() 函数完成深度克隆 */
public function __clone(){
echo clone...;
}
}
$texter1 = new text(1.txt);
$texter1->write(test...);
//获得一个原型
$texter2 = $texter1->copy();
echo $texter2->read();
以上是原型模式的用途是什么?有关更多详细信息原型模式,请注意php中文网站上的其他相关文章!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-177219-1.html
十年动乱时受的教育