是類的創(chuàng)建模式工廠模式的幾種形 " /> 超碰97av 在线人人操,精品无码国产自产在线观看水浒传 ,黄色天堂在线

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php設(shè)計(jì)模式之簡(jiǎn)單工廠模式詳解

本文以實(shí)例形式較為詳細(xì)的介紹了php設(shè)計(jì)模式的簡(jiǎn)單工廠模式,對(duì)于進(jìn)行php程序設(shè)計(jì)來(lái)說(shuō)有很好的借鑒作用。具體如下:

一、概念

簡(jiǎn)單工廠模式 【靜態(tài)工廠方法模式】(Static Factory Method)
是類的創(chuàng)建模式

工廠模式的幾種形態(tài):

1、簡(jiǎn)單工廠模式(Simple Factory)又叫做 靜態(tài)工廠方法模式(Static Factory Method)

2、工廠方法模式(Factory Method)又叫做 多態(tài)性工廠模式(Polymorphic Factory)

3、抽象工廠模式(Abstract Factory)又叫做 工具箱模式(ToolKit)

二、配圖分析:

三、代碼實(shí)例

該實(shí)例代碼經(jīng)過(guò)測(cè)試可以運(yùn)行,具體如下:

<?php/** * 一個(gè)事例 * * 一個(gè)農(nóng)場(chǎng),要向市場(chǎng)銷售水果 * 農(nóng)場(chǎng)里有三種水果 蘋果、葡萄 * 我們?cè)O(shè)想:1、水果有多種屬性,每個(gè)屬性都有不同,但是,他們有共同的地方 | 生長(zhǎng)、種植、收貨、吃 *       2、將來(lái)有可能會(huì)增加新的水果、我們需要定義一個(gè)接口來(lái)規(guī)范他們必須實(shí)現(xiàn)的方法 *       3、我們需要獲取某個(gè)水果的類,要從農(nóng)場(chǎng)主那里去獲取某個(gè)水果的實(shí)例,來(lái)知道如何生長(zhǎng)、種植、收貨、吃 *//** * 虛擬產(chǎn)品接口類 * 定義好需要實(shí)現(xiàn)的方法 */interface fruit{  /**   * 生長(zhǎng)   */  public function grow();  /**   * 種植   */  public function plant();  /**   * 收獲   */  public function harvest();  /**   * 吃   */  public function eat();  }/** * 定義具體產(chǎn)品類 蘋果 * 首先,我們要實(shí)現(xiàn)所繼承的接口所定義的方法 * 然后定義蘋果所特有的屬性,以及方法 */class apple implements fruit{  //蘋果樹有年齡  private $treeAge;  //蘋果有顏色  private $color;  public function grow(){    echo "grape grow";  }  public function plant(){    echo "grape plant";  }  public function harvest(){    echo "grape harvest";  }  public function eat(){    echo "grape eat";  }  //取蘋果樹的年齡  public function getTreeAge(){    return $this->treeAge;  }  //設(shè)置蘋果樹的年齡  public function setTreeAge($age){    $this->treeAge = $age;    return trie;  }}/** * 定義具體產(chǎn)品類 葡萄 * 首先,我們要實(shí)現(xiàn)所繼承的接口所定義的方法 * 然后定義葡萄所特有的屬性,以及方法 */class grape implements fruit{  //葡萄是否有籽  private $seedLess;  public function grow(){    echo "apple grow";  }  public function plant(){    echo "apple plant";  }  public function harvest(){    echo "apple harvest";  }  public function eat(){    echo "apple eat";  }  //有無(wú)籽取值  public function getSeedLess(){    return $this->seedLess;  }  //設(shè)置有籽無(wú)籽  public function setSeedLess($seed){    $this->seedLess = $seed;    return true;  }}/** *農(nóng)場(chǎng)主類 用來(lái)獲取實(shí)例化的水果 * */class farmer{  //定義個(gè)靜態(tài)工廠方法  public static function factory($fruitName){    switch ($fruitName) {      case 'apple':        return new apple();        break;      case 'grape':        return new grape();        break;      default:        throw new badFruitException("Error no the fruit", 1);        break;    }  }}class badFruitException extends Exception{  public $msg;  public $errType;  public function __construct($msg = '' , $errType = 1){    $this->msg = $msg;    $this->errType = $errType;  }  }/** * 獲取水果實(shí)例化的方法 */try{  $appleInstance = farmer::factory('apple');  var_dump($appleInstance);}catch(badFruitException $err){  echo $err->msg . "_______" . $err->errType;}

希望本文所述實(shí)例對(duì)大家php程序設(shè)計(jì)有所幫助。

php技術(shù)php設(shè)計(jì)模式之簡(jiǎn)單工廠模式詳解,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 寂寞夜晚免费观看视频 | 水蜜桃亚洲一二三四在线 | 亚洲精品嫩草研究院久久 | 美女强奷到抽搐在线播放 | 午夜无码片在线观看影院 | 麻豆精品一卡2卡三卡4卡免费观看 | 日韩欧美视频一区 | 忘忧草在线社区WWW日本直播 | 国产成人在线小视频 | 洗濯屋H纯肉动漫在线观看 羲义嫁密着中出交尾gvg794 | 永久免费看bbb | 国产色精品久久人妻无码看片 | 为什么丈夫插我我却喜欢被打着插 | 中文字幕日本久久2019 | 含羞草免费完整视频在线观看 | 最近中文字幕MV高清在线视频 | 久久操热在线视频精品 | 亚洲视频在线观看视频 | 中文在线免费看视频 | 亚洲AV无码专区国产精品99 | 老男人粗大猛 | 久久全国免费观看视频 | 千禧金瓶梅 快播 | 伊人久久五月丁婷婷 | 被高跟鞋调教丨vk | 日本性xxx | 日韩精品亚洲专区在线电影不卡 | 亚洲欧美中文日韩v在线 | 樱花动漫成人隐藏入口 | 在线观看亚洲免费人成网址 | 人淫阁| 一二三四在线观看高清电视剧 | 免费观看亚洲视频 | 蜜臀AV精品久久无码99 | 暖暖视频在线高清播放 | 一本久道久久综合婷婷五月 | 亚洲、国产综合视频 | 久久免费国产视频 | 在线观看亚洲专区5555 | 成人无码精品一区二区在线观看 | 亚洲伦理精品久久 |