一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

三個類概括PHP的五種設計模式

工廠模式
單元素模式
觀察者模式
命令鏈模式
策略模式
復制代碼 代碼如下:
class people {
private $name = '';
private $user = null;
private function __constract($name){/*此處private定義輔助實現 單元素模式*/
$this->name = $name;
}
public static function instance($name){/*此方法實現 工廠模式*/
static $object = null;/*此變量實現 單元素模式*/
if (is_null($object))
$object = new people($name);
return $object;
}
public function work_in($who=null)
{
if (is_null($who)) echo 'error';
else {
$this->user[] = $who;/*此數組變量實現 觀察者模式*/
echo $who->work();/*此方法調用實現 策略模式*/
}
}
public function on_action($which=''){
if (empty($which)) echo 'error';
else {
foreach ($this->user as $user)
$user->action($which);/*此方法調用實現 命令鏈模式*/
}
}
}
$people = people::instance('jack');
$people->work_in(new student);
$people->work_in(new teacher);
$people->on_action('eat');
class student {
function work(){
echo '<br/>我是學生,朝九晚五。';
}
function action($which){
if (method_exists($this, $which)) return $this->$which();
else echo 'you are wrong!';
}
function eat(){
echo '<br/>我是學生,只能吃套餐。';
}
}
class teacher {
function work(){
echo '<br/>我是老師,晚上備課最忙。';
}
function action($which){
if (method_exists($this, $which)) return $this->$which();
else echo 'i can not do it!';
}
function eat(){
echo '<br/>我是老師,可以每天吃大餐。';
}
}

php技術三個類概括PHP的五種設計模式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91久久国产 | 精品伊人久久久大香线蕉欧美 | 天天干天天射天天爽 | 美女视频毛片 | 青青草色青伊人 | 2022年国产精品久久久久 | 欧美特黄一级片 | 77se77亚洲欧美在线大屁股 | 欧美国产一区二区二区 | 91亚洲福利| 亚洲国产精品综合久久一线 | 一二三四在线播放免费视频中国 | 97在线国产视频 | 久久九九视频 | 国产精品九九久久一区hh | 狠狠亚洲婷婷综合色香五 | 青青草伊人久久 | 国产一区系列在线观看 | 精品亚洲一区二区三区 | 亚洲精品美女久久久久 | 91手机视频在线 | 久久97久久97精品免视看清纯 | 六月丁香色婷婷 | 国产精选在线播放 | 丁香六月婷婷 | 色性综合 | 自拍一区在线观看 | 精品综合久久久久久97超人该 | 七七国产福利在线二区 | 午夜视频在线播放 | 亚洲黄色高清 | 国产一区成人 | 真正国产乱子伦高清对白 | 日本精品一区二区三区在线视频| 中文字幕在线一区二区在线 | 丝袜综合网 | 欧美一级www| 国产拍拍拍 | 亚洲成人手机在线观看 | 色噜噜狠狠一区二区三区 | 美女毛片免费看 |