php高級(jí)程序設(shè)計(jì)_模式,框架與測(cè)試用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象php高級(jí)程序設(shè)計(jì)模式,框架與測(cè)試pdf
2022-08-28
使用原型實(shí)例來(lái)指定要?jiǎng)?chuàng)建的對(duì)象的種類,并通過(guò)復(fù)制這些原型來(lái)創(chuàng)建新對(duì)象。模式允許一個(gè)對(duì)象創(chuàng)建另一個(gè)可定制的對(duì)象,而無(wú)需知道如何創(chuàng)建它的任何細(xì)節(jié)php高級(jí)程序設(shè)計(jì)_模式,框架與測(cè)試,方法是將原型對(duì)象傳遞給對(duì)象以啟動(dòng)創(chuàng)建網(wǎng)站優(yōu)化,并且啟動(dòng)創(chuàng)建的對(duì)象通過(guò)請(qǐng)求原型對(duì)象復(fù)制自身來(lái)完成。實(shí)現(xiàn)創(chuàng)建。它面臨的主要問(wèn)題是:創(chuàng)建“一些結(jié)構(gòu)復(fù)雜的對(duì)象”;這些對(duì)象往往會(huì)因?yàn)樾枨蟮淖兓媾R劇烈的變化,但它們具有相對(duì)穩(wěn)定和一致的接口。
在php中網(wǎng)站建設(shè),類實(shí)現(xiàn)了原型模式,php有一個(gè)神奇的()方法會(huì)像這樣克隆一個(gè)對(duì)象。
看一下UML類圖:
人物分析:
1.抽象原型php高級(jí)程序設(shè)計(jì)_模式,框架與測(cè)試,提供克隆接口
2.實(shí)現(xiàn)克隆接口的具體原型
具體代碼:
/**抽象原型類 * Class Prototype */ abstract class Prototype { abstract function cloned(); } /**具體原型類 * Class Plane */ class Plane extends Prototype { public $color; function Fly() { echo 飛機(jī)飛啊飛! ; } function cloned() { return clone $this; } }
客戶端測(cè)試代碼:
header(Content-Type:text/html;charset=utf-8); //------------------------原型模式測(cè)試代碼------------------ require_once ./Prototype/Prototype.php; $plane1=new Plane(); $plane1->color=Blue; $plane2=$plane1->cloned(); $plane1->Fly(); $plane2->Fly(); echo plane1的顏色為:{$plane1->color} ; echo plane2的顏色為:{$plane2->color} ;
這里只是簡(jiǎn)單介紹一下原型模式的核心思想,其實(shí)可以直接在實(shí)際開(kāi)發(fā)中使用。