PHP設計モードの工場モードとプロトタイプモード
この2つのモードは、オブジェクトの作成と多重化に使用されます.ただし、オブジェクトの作成時に既存のコードをいつでも改善するデザインスタイルです.古いコードは変更しにくいことが多いので、この2つのモードは一般的に新しく追加するのに適しており、オブジェクトを作成したり、新しいオブジェクトを使用したりしやすいです.
あとは...もういい
私が言いたいのはJSで、原型を作ったストーブの火は真っ青で、私はずっと夢中になって、多くの原型はすべて言語の内核に深く埋め込まれています.
その本を推薦する
じょうふごう
法界の衆生が安楽であることを願う
あとは...もういい
私が言いたいのはJSで、原型を作ったストーブの火は真っ青で、私はずっと夢中になって、多くの原型はすべて言語の内核に深く埋め込まれています.
その本を推薦する
じょうふごう
_name = $name;
}
public function setName($name){
$this->_name = $name;
}
public function shallowCopy(){
// php , 。 , clone() , 。
// __clone() , ( ) __clone() ,
// new clone, ,
// clone 。 clone , ,
return clone $this;
}
public function deepCopy(){
// : , , “ ” “ ”, “ ” “ ”。
// 、 , , 。 , base64_encode base64_decode。
// base64 。 , gzcompress 。 //base64_encode(gzcompress(serialize($obj)));
//unserialize(gzuncompress(base64_decode($txt)));
$serialize_obj = serialize($this);
$clone_obj = unserialize($serialize_obj);
return $clone_obj;
}
public function getName(){
return $this->_name;
}
}
//
class Demo{
public $string;
}
class UsePrototype{
public function shallow(){
$demo = new Demo();
$demo->string = "susan";
//
$object_shallow_first = new ConcretePrototype($demo);
//
$object_shallow_second = $object_shallow_first->shallowCopy();
//
echo ' :
';
var_dump($object_shallow_first->getName());
echo '
';
var_dump($object_shallow_second->getName());
echo '
';
$demo->string = "jack";
echo ' :
';
var_dump($object_shallow_first->getName());
echo ' ,
';
var_dump($object_shallow_second->getName());
echo '
';
}
public function deep(){
// ,
$demo = new Demo;
$demo->string = "Siri";
//
$object_shallow_first = new ConcretePrototype($demo);
//
$object_shallow_second = $object_shallow_first->deepCopy();
//
echo ' :
';
var_dump($object_shallow_first->getName());
echo '
';
var_dump($object_shallow_second->getName());
echo '
';
$demo->string = "jack";
echo ' :
';
var_dump($object_shallow_first->getName());
echo ' ,
';
var_dump($object_shallow_second->getName());
echo '
';
}
}
//
$up = new UsePrototype;
$up->shallow();
echo '
';
$up->deep();
// , , , , , new , , , , 、 :
// , , 。
// , , , , , , , 。
// , , , 。
?>
法界の衆生が安楽であることを願う