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