婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP設計模式之工廠模式詳解

PHP設計模式之工廠模式詳解

熱門標簽:襄陽房產電銷機器人招商 安徽移動外呼系統 清遠陽山400電話號碼如何申請 百度地圖標注名編輯 百度地圖標注飯店位置怎么 怎么在高德地圖標注行走軌跡 個性化地圖標注在線 施工地圖標注怎么做 深圳400電話辦理那家好

在開發大型系統時,往往會出現這樣一種情況:

我有一部分基礎數據,是類classA是從數據庫A讀取出來的,其他很多的功能都是基于這個基礎數據來操作的?,F在呢,我想把數據從數據庫A變成從另外的數據源去獲取,這時候,要修改起來就比較麻煩,要修改其他很多類的代碼。這種設計顯然是不夠靈活的,換句話說,就是緊耦合的,那么什么是緊耦合呢?緊耦合就是指系統中某個部分的函數或類嚴重依賴于系統的其他部分中的函數或類的行為和結構。

這時,工廠模式的作用性就體現出來了。

工廠模式    

就是解決這樣的一些情況的設計方法。

工廠模式是一種類,建立了一個工廠來根據所需來創建對象,這種方式在多態性編程中是很重要的,允許動態替換類,修改配置等。

/*基本工廠模式代碼*/

?php 
/** 
 * 基本工廠模式 
 * */ 
class User { 
 private $username; 
 public function __construct($username) { 
  $this->username = $username; 
 } 
  
 public function getUser() { 
  return $this->username; 
 } 
} 
 
class userFactory { 
 static public function createUser() { 
  return new User('Jack'); 
 } 
} 
 
$user = userFactory::createUser();echo $user->getUser(); 

?>

工廠模式分為:簡單工廠模式、工廠方法模式、抽象工廠模式。

簡單工廠模式,通過靜態方法創建對象。可以理解成,只負責生產同一等級結構中的任何一個產品,但是不能新增產品。

?php

/** 
 *簡單工廠模式 
 * */ 
interface userProperties { 
 function getUsername(); 
 function getGender(); 
 function getJob(); 
} 
class User implements userProperties{ 
 private $username; 
 private $gender; 
 private $job; 
 public function __construct($username, $gender, $job) { 
  $this->username = $username; 
  $this->gender = $gender; 
  $this->job = $job; 
 } 
 
 public function getUsername() { 
  return $this->username; 
 } 
 
 public function getGender() { 
  return $this->gender; 
 } 
 
 public function getJob() { 
  return $this->job; 
 } 
} 
 
class userFactory { 
 static public function createUser($properties = []) { 
  return new User($properties['username'], $properties['gender'], $properties['job']); 
 } 
} 
 
$employers = [ 
 ['username' => 'Jack', 'gender' => 'male', 'job' => 'coder'], 
 ['username' => 'Marry', 'gender' => 'female', 'job' => 'designer'], 
 ]; 
$user = userFactory::createUser($employers[0]); 
echo $user->getUsername(); 
 
?>

工廠方法模式,去掉了簡單工廠模式中方法的靜態屬性,使其可以被子類集成,定義一個創建對象的接口,讓子類去決定實例化哪個類??梢岳斫獬?,用來生產同一等級結構中的固定產品,但是支持增加產品。

?php
/** 
 * 工廠方法模式 
 **/ 
interface userProperties { 
 function getUsername(); 
 function getGender(); 
 function getJob(); 
} 
 
interface createUser { 
 function create($properties); 
} 
 
class User implements userProperties{ 
 private $username; 
 private $gender; 
 private $job; 
 public function __construct($username, $gender, $job) { 
  $this->username = $username; 
  $this->gender = $gender; 
  $this->job = $job; 
 } 
 
 public function getUsername() { 
  return $this->username; 
 } 
 
 public function getGender() { 
  return $this->gender; 
 } 
 
 public function getJob() { 
  return $this->job; 
 } 
} 
 
class userFactory { 
 private $user; 
 public function __construct($properties = []) { 
  $this->user = new User($properties['username'], $properties['gender'], $properties['job']); 
 } 
 
 public function getUser() { 
  return $this->user; 
 } 
} 
 
class FactoryMan implements createUser { 
 function create($properties) { 
  return new userFactory($properties); 
 } 
} 
 
class FactoryWoman implements createUser { 
 function create($properties) { 
  return new userFactory($properties); 
 } 
} 
 
class clientUser { 
 static public function getClient($properties) { 
  $fac = new FactoryMan; 
  $man = $fac->create($properties); 
  echo $man->getUser()->getUsername(); 
 } 
} 
 
$employers = [ 
 ['username' => 'Jack', 'gender' => 'male', 'job' => 'coder'], 
 ['username' => 'Marry', 'gender' => 'female', 'job' => 'designer'], 
 ]; 
$user = clientUser::getClient($employers[0]); 
 
?>

抽象工廠模式,提供一個創建一系列相關或者相互依賴的對象的接口??梢岳斫獬桑脕砩a不用類型的全部產品,但是不能增加新品,支持增加新的類型。

?php

/** 
 * 抽象工廠模式 
 * */ 
 
interface userProperties { 
 function getUsername(); 
 function getGender(); 
 function getJob(); 
} 
 
interface createUser { //將對象的創建抽象成一個接口 
 function createOpen($properties);//內向創建 
 function createIntro($properties);//外向創建 
} 
 
class User implements userProperties{ 
 private $username; 
 private $gender; 
 private $job; 
 public function __construct($username, $gender, $job) { 
  $this->username = $username; 
  $this->gender = $gender; 
  $this->job = $job; 
 } 
 
 public function getUsername() { 
  return $this->username; 
 } 
 
 public function getGender() { 
  return $this->gender; 
 } 
 
 public function getJob() { 
  return $this->job; 
 } 
} 
 
class userFactory { 
 private $user; 
 public function __construct($properties = []) { 
  $this->user = new User($properties['username'], $properties['gender'], $properties['job']); 
 } 
 
 public function getUser() { 
  return $this->user; 
 } 
} 
 
class FactoryMan implements createUser { 
 function createOpen($properties) { 
  return new userFactory($properties); 
 } 
 
 function createIntro($properties) { 
  return new userFactory($properties); 
 } 
} 
 
class FactoryWoman implements createUser { 
 function createOpen($properties) { 
  return new userFactory($properties); 
 } 
 
 function createIntro($properties) { 
  return new userFactory($properties); 
 } 
} 
 
class clientUser { 
 static public function getClient($properties) { 
  $fac = new FactoryMan; 
  $man = $fac->createOpen($properties); 
  echo $man->getUser()->getUsername(); 
 } 
} 
 
$employers = [ 
 ['username' => 'Jack', 'gender' => 'male', 'job' => 'coder'], 
 ['username' => 'Marry', 'gender' => 'female', 'job' => 'designer'], 
 ]; 
$user = clientUser::getClient($employers[0]); 
?>

如有錯誤,請指正。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 學習php設計模式 php實現裝飾器模式(decorator)
  • PHP簡單裝飾器模式實現與用法示例
  • PHP、Python和Javascript的裝飾器模式對比
  • PHP設計模式之注冊樹模式分析
  • php簡單實現單態設計模式的方法分析
  • 輕松掌握php設計模式之訪問者模式
  • PHP常用的三種設計模式匯總
  • PHP設計模式之迭代器模式
  • PHP設計模式之觀察者模式實例
  • php設計模式之委托模式
  • PHP常用設計模式之委托設計模式
  • PHP設計模式之裝飾器模式實例詳解

標簽:駐馬店 阜陽 黑河 臨夏 延邊 南昌 欽州 中衛

巨人網絡通訊聲明:本文標題《PHP設計模式之工廠模式詳解》,本文關鍵詞  PHP,設計模式,之,工廠,模式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP設計模式之工廠模式詳解》相關的同類信息!
  • 本頁收集關于PHP設計模式之工廠模式詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩午夜中文字幕| 精彩视频一区二区| 欧美系列一区二区| 色综合欧美在线视频区| 成人精品一区二区三区四区| 精品一区二区三区欧美| 国产精品亚洲人在线观看| 蜜桃av噜噜一区| 激情五月婷婷综合网| 日本午夜一区二区| 国产精品自拍三区| 丁香亚洲综合激情啪啪综合| 国产精品白丝av| 丁香啪啪综合成人亚洲小说| 国产91在线观看丝袜| 日本精品视频一区二区三区| 欧美视频一二三区| 欧美一级欧美一级在线播放| 亚洲精品一区二区三区四区高清| 亚洲精品一区二区三区蜜桃下载 | 亚洲国产综合人成综合网站| 午夜精品福利久久久| 免费看日韩a级影片| 成人av先锋影音| 欧美一区三区二区| 亚洲精品一卡二卡| 国产精品一级片在线观看| 欧美私人免费视频| 亚洲欧美日韩小说| 欧美精品v国产精品v日韩精品 | 99久久久久久99| 亚洲成a人v欧美综合天堂下载| 亚洲一二三四在线| 另类小说视频一区二区| 国产精品91一区二区| 欧美日韩免费不卡视频一区二区三区| 9191国产精品| 久久亚洲二区三区| 国产精品综合av一区二区国产馆| 黄页网站大全一区二区| 91香蕉视频污| 久久亚洲一级片| 亚洲亚洲人成综合网络| 国产午夜精品一区二区三区四区| 中国av一区二区三区| 日本成人在线电影网| 激情亚洲综合在线| 精品视频一区二区不卡| 国产清纯白嫩初高生在线观看91| 亚洲www啪成人一区二区麻豆| 日韩国产精品久久| 欧美色偷偷大香| 亚洲人成网站色在线观看| 国内精品第一页| 国产欧美一区二区精品秋霞影院| 色成年激情久久综合| 国产99久久久精品| 国产精品一卡二卡| 91精品国产综合久久香蕉麻豆| 日日夜夜精品视频免费| 日韩一区二区三区视频在线| 国产一区在线不卡| 欧美日韩一级黄| 国产69精品久久777的优势| 亚洲欧美日韩系列| 国产精品乱人伦一区二区| 国产成人精品一区二| 视频一区国产视频| 国产精品久久久久久久浪潮网站| 欧美成人官网二区| 欧美日本乱大交xxxxx| 日本一区二区成人在线| 国产成人在线视频网站| 国产婷婷一区二区| 国产老肥熟一区二区三区| 久久久精品免费免费| 成人的网站免费观看| 中文字幕在线一区| www.日本不卡| 亚洲精品乱码久久久久久久久| 色婷婷精品久久二区二区蜜臀av| 综合在线观看色| 欧美麻豆精品久久久久久| 国产视频一区二区在线| 欧美最新大片在线看| 亚洲大片一区二区三区| 久久精品人人做人人爽97| 日本韩国精品一区二区在线观看| 日本在线观看不卡视频| 欧美电视剧免费观看| 欧美视频中文字幕| 不卡一区二区在线| 亚洲精品日日夜夜| 中文字幕欧美一区| 国产精品人人做人人爽人人添| 日本韩国一区二区| 99re这里只有精品6| 国产一区二区不卡在线| 亚洲成人免费电影| 中文字幕在线免费不卡| 久久综合色婷婷| 2024国产精品| 国产99精品视频| 亚洲午夜久久久久久久久久久| 日韩欧美国产系列| 欧美亚洲综合色| 风流少妇一区二区| 欧美在线观看视频一区二区| 欧美日韩精品系列| 久久久精品国产99久久精品芒果| 欧美精品色一区二区三区| 欧美精品一区二区久久久| 国产专区欧美精品| 久久色.com| 欧美理论电影在线| 精品动漫一区二区三区在线观看| 欧美精品一区二区三区在线播放 | 日韩欧美成人一区| 欧美韩国日本综合| 日韩午夜av电影| 午夜精品福利一区二区三区蜜桃| 国产激情偷乱视频一区二区三区| 欧美日韩极品在线观看一区| 久久精品人人做人人综合| 日日夜夜精品视频天天综合网| 成人午夜电影小说| 日本一区二区免费在线观看视频| 亚洲国产综合在线| 免费观看在线色综合| 欧美日韩成人一区| 日韩电影在线一区二区三区| av一二三不卡影片| 国产香蕉久久精品综合网| 国产一区二区三区综合| 欧美国产欧美综合| 91黄视频在线观看| 亚洲一卡二卡三卡四卡| 日本韩国欧美一区| 美日韩黄色大片| 久久日一线二线三线suv| 国产成人午夜视频| 91精品国产欧美日韩| 视频一区在线播放| 2023国产精品| 91原创在线视频| 日本在线观看不卡视频| 久久精品日产第一区二区三区高清版 | 亚洲伦理在线精品| 欧美日韩成人激情| 亚洲欧洲99久久| 日韩精品一区二区三区在线观看| 不卡的电影网站| 色8久久人人97超碰香蕉987| 欧美顶级少妇做爰| 欧美精品一区男女天堂| 高清不卡在线观看av| 99国产精品久久久久| 欧美在线观看一二区| 久久婷婷一区二区三区| 亚洲人午夜精品天堂一二香蕉| 久久精品国产77777蜜臀| 国产精品久久久久久久久图文区| 国产精品看片你懂得| 免费高清在线一区| 色国产综合视频| 国产日韩欧美高清在线| 日日欢夜夜爽一区| 91首页免费视频| 成人免费一区二区三区视频 | 视频在线观看91| 国产成人午夜视频| 91精品欧美福利在线观看| 中文字幕不卡在线播放| 亚洲同性同志一二三专区| 日本亚洲天堂网| 91香蕉视频污| 日韩欧美久久久| 亚洲少妇屁股交4| 美女一区二区视频| 99精品视频一区| 欧美日韩精品一区二区三区 | 18涩涩午夜精品.www| 国产精品亚洲第一| 日韩欧美国产wwwww| 五月天激情综合| 在线欧美日韩精品| 国产日产精品一区| 奇米一区二区三区av| 97se亚洲国产综合在线| 久久精品人人做| 国产九色sp调教91| 日韩欧美色综合| 五月婷婷久久丁香| 69堂精品视频| 日韩成人一区二区三区在线观看| 欧美精选一区二区| 免费成人在线播放| 久久久久久黄色| 91小视频在线观看| 亚洲愉拍自拍另类高清精品|