亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP設計模式

2019-11-08 03:18:20
字體:
來源:轉載
供稿:網友
1.單例模式    a.含義: 通過提供自身共享實例的訪問,單例設計模式用于限制特定對象只能被創建一次。    b.使用場景            1.例如數據庫實例,一般都會走單例模式。            2.單例模式可以減少類的實例化    c.代碼示例<?phpclass DB{ public static $instance =null; public static function instance(){ $class = get_called_class(); if(empty(self::$instance[$class])){ self:$instance[$class] = new $class(); } return self:$instance[$class]; }}2.觀察者模式    a.含義:觀察者設計模式能夠更便利創建和查看目標對象狀態的對象,并且提供和核心對象非耦合的置頂功能性。觀察者設計模式非常常用,在一般復雜的WEB系統中,        觀察者模式可以幫你減輕代碼設計的壓力,降低代碼耦合。    b.使用場景:        1.設計一個訂單類        2.訂單創建完成后,會做各種動作,比如發送EMAIL,或者改變訂單狀態等等。        3.原始的方法,是將這些操作都寫在create函數里面        4.但是隨著訂單創建類的越來越龐大,這樣的操作已經無法滿足需求和快速變動        5.這個時候,觀察者模式出現了。    c.代碼示例:    <?phpheader("Content-type:text/html;charset=UTF-8");class order{ PRotected $observers = array(); //增加觀察者 public function addObserver($type,$observer){ $this->observers[$type][] = $observer; } //運行觀察者 public function obServer($type){ if(isset($this->observers[$type])){ foreach ($this->observers[$type] as $key => $obser) { $a = new $obser; $a->update($this); } } } //下單購買流程 public function create(){ echo '購買成功<br>'; $this->obServer('buy'); }}class orderEmail{ public function update($order){ echo "發送購買成功的一個郵件<br>"; }}class orderStatus{ public function update($order){ echo "改變訂單狀態<br>"; }}$ob= new order();$ob->addObserver('buy','orderEmail');$ob->addObserver('buy','orderStatus');$ob->create();3.工廠模式    a.提供獲取某個對象實例的一個接口,同時使調用代碼避免確定實例化基類的步驟。       工廠模式 實際上就是建立一個統一的類實例化的函數接口。統一調用,統一控制。       工廠模式是php項目開發中,最常用的設計模式,一般會配合單例模式一起使用,來加載php類庫中的類。    b.應用場景        1.我們擁有一個Json類,String類,xml類。        2.如果我們不使用工廠方式實例化這些類,則需要每一個類都需要new一遍,過程不可控,類多了,到處都是new的身影        3.引進工廠模式,通過工廠統一創建對象實例。    c.代碼示例<?phpclass factory{ public static function create($class){ return new $class; }}class string{ public function write(){}}class json{ public function getJsonData(){}}class xml{ public function buildXml(){}}var_dump(factory::create('string'));4.策略模式    a.含義:策略模式設計幫助構建的對象不必自身包含邏輯,而是能夠根據需要利用其他對象中的算法    b.應用場景:        1.例如有一個CD類,我們類存儲了CD的信息。        2.原先的時候,我們在CD類中直接調用getCD方法給出XML的結果        3.隨著業務擴展,需求方提出需要JSON數據格式輸出        4.這個時候我們引進了策略模式,可以讓使用方根據需求自由選擇是輸出XML還是JSON    c.代碼示例<?phpclass cd{ protected $cdArr; public function __construct($title,$info){ $this->cdArr['title'] = $title; $this->cdArr['info'] = $info; } public function getCd($typeObj){ return $typeObj->get($this->cdArr); }}class json{ public function get($return_data){ return json_encode($return_data); }}class xml{ public function get($return_data){ $xml='<?xml version="1.0" encoding="utf-8" ?>'; $xml.='<return>'; $xml.='<data>'.serialize($return_data).'</data>'; $xml.='</return>'; return $xml; }}$cd = new cd('cd_1','cd_1');echo $cd->getCd(new json)."<br>";echo $cd->getCd(new xml)."<br>";
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人免费播放| 欧美小视频在线| 亚洲аv电影天堂网| 热久久美女精品天天吊色| 粉嫩av一区二区三区免费野| 欧美一级视频免费在线观看| 中日韩午夜理伦电影免费| 国产999精品久久久影片官网| 5278欧美一区二区三区| 国产日产欧美a一级在线| 亚洲女人天堂网| 国产最新精品视频| 91网站免费观看| 亚洲精品女av网站| 国内精品久久久久久| 欧美日韩福利在线观看| 欧美激情欧美激情| 97在线视频免费播放| 丝袜亚洲欧美日韩综合| 奇米影视亚洲狠狠色| 97精品免费视频| 日韩av影院在线观看| 亚洲成人免费网站| 成人妇女免费播放久久久| 亚洲电影av在线| 日韩中文字幕不卡视频| 亚洲缚视频在线观看| 日本精品中文字幕| 一区二区av在线| 91在线网站视频| 久热精品在线视频| 欧美成人免费大片| 成人国产精品免费视频| 国产精品成人免费视频| 青青草精品毛片| 色偷偷88888欧美精品久久久| 久久久精品免费视频| 在线观看日韩欧美| 久久午夜a级毛片| 国产精品69精品一区二区三区| 久久av红桃一区二区小说| 日韩亚洲欧美中文在线| 日韩成人在线网站| 欧美性jizz18性欧美| 欧美极品欧美精品欧美视频| 91日本视频在线| 这里只有精品视频| 97热精品视频官网| 日本91av在线播放| 欧美性猛交xxxx乱大交蜜桃| 亚洲女在线观看| 国产精品成人观看视频国产奇米| 国产精品白丝jk喷水视频一区| 欧美日韩在线观看视频小说| 欧美电影电视剧在线观看| 欧美成人亚洲成人| 亚洲欧美日韩中文在线制服| 日韩免费在线视频| 97国产在线观看| 国产精品久久久久久久久久久新郎| 色yeye香蕉凹凸一区二区av| 日韩小视频在线观看| 亚洲精品久久久久| 久久精品国亚洲| 亚洲一区二区福利| 欧美精品一本久久男人的天堂| 欧美日韩亚洲成人| 亚洲福利小视频| 精品国产一区二区三区四区在线观看| 91久久久久久国产精品| 国产一区二区欧美日韩| 九九热在线精品视频| 亚洲精品视频网上网址在线观看| 91精品啪在线观看麻豆免费| 一本一本久久a久久精品牛牛影视| 亚洲大胆美女视频| 欧美大片免费观看在线观看网站推荐| 国产精品∨欧美精品v日韩精品| 亚洲激情免费观看| 亚洲午夜性刺激影院| 亚洲四色影视在线观看| 国产精品草莓在线免费观看| 中文字幕亚洲欧美日韩高清| 日韩在线观看电影| 欧美三级xxx| 国产欧美日韩中文字幕在线| 欧美精品xxx| 欧美夫妻性视频| 日韩av中文字幕在线播放| 亚洲美女av在线| 91免费福利视频| 日韩精品亚洲精品| 国产日韩欧美电影在线观看| 日韩在线中文视频| 亚洲摸下面视频| 国产视频精品一区二区三区| 国产精品一区二区久久久久| 亚洲欧美中文日韩在线v日本| 国产裸体写真av一区二区| 欧美激情一级精品国产| 亚洲欧美另类在线观看| 亚洲精品456在线播放狼人| 欧美性xxxx在线播放| 久久综合色影院| 欧美性猛交xxxx免费看漫画| 91在线视频九色| 欧美国产精品人人做人人爱| 宅男66日本亚洲欧美视频| 欧美性资源免费| 久久99视频精品| 欧美一级大片在线观看| 国产精品三级网站| 欧美日在线观看| 中文字幕久久精品| 最好看的2019的中文字幕视频| 国产视频综合在线| 亚洲人成网7777777国产| 国产亚洲欧美另类中文| 欧美日韩免费在线| 亚洲精品视频在线播放| 欧美成人一二三| 国外成人在线播放| 精品香蕉在线观看视频一| 精品久久香蕉国产线看观看gif| 国产精品吹潮在线观看| 68精品久久久久久欧美| 日本成人黄色片| 超碰日本道色综合久久综合| 日韩精品免费在线| 国产91对白在线播放| 亚洲大胆人体在线| 亚洲精品乱码久久久久久按摩观| 最近2019好看的中文字幕免费| 国产精品999| 搡老女人一区二区三区视频tv| 欧美激情国产日韩精品一区18| 最近更新的2019中文字幕| 曰本色欧美视频在线| 亚洲成人在线视频播放| 国产精品99久久久久久www| 一区二区欧美亚洲| 亚洲激情免费观看| 精品高清一区二区三区| 国产精品亚洲一区二区三区| 5278欧美一区二区三区| 亚洲国产精品va在线| 亚洲欧美综合另类中字| 国产成人免费av| 国产精品久久久久久婷婷天堂| 欧美日韩在线视频一区二区| 精品中文字幕久久久久久| 亚洲999一在线观看www| 亚洲一区中文字幕| 欧美综合一区第一页| 亚洲欧美三级伦理| 色偷偷噜噜噜亚洲男人的天堂| 亚洲欧美国产高清va在线播| 国产精品视频一区国模私拍| 久久久久在线观看| 国产欧美一区二区三区久久人妖| 欧美成人手机在线| 97成人精品视频在线观看| 欧美色播在线播放| 国产精品嫩草影院久久久|