Prototype
Prototype Le modèle de prototype est un modèle de conception de création permettant à un objet de créer un autre objet personnalisable, sans connaître aucun détail sur la façon de le faire. le créer, fonctionne comme ceci : en passant un objet prototype à l'objet à créer, l'objet à créer est créé en demandant à l'objet prototype de se copier.
Quel problème résout-il
Le principal problème auquel il est confronté est : la création de « certains objets avec des structures complexes » en raison de changements dans les exigences, ces objets souvent ; face subissent des changements drastiques, mais ils ont des interfaces relativement stables et cohérentes.
Utilisez la méthode clone() fournie par PHP pour cloner des objets, ainsi l'implémentation du mode Prototype devient du coup très simple. Et vous pouvez utiliser la fonction __clone() de PHP pour effectuer un clonage profond.
Exemple de code
<?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();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!