亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

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

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

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

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

我有一部分基礎數據,是類classA是從數據庫A讀取出來的,其他很多的功能都是基于這個基礎數據來操作的。現在呢,我想把數據從數據庫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]); 
 
?>

抽象工廠模式,提供一個創建一系列相關或者相互依賴的對象的接口。可以理解成,用來生產不用類型的全部產品,但是不能增加新品,支持增加新的類型。

?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設計模式之工廠模式詳解的相關信息資訊供網民參考!
  • 推薦文章
    免费国产在线观看| 日本在线播放一区| 美女免费毛片| 美女免费精品视频在线观看| 日本特黄特黄aaaaa大片| 久久久久久久免费视频| 日韩中文字幕在线观看视频| 久久国产精品永久免费网站| 国产麻豆精品高清在线播放| 国产一区二区精品久久| 免费一级片在线| a级黄色毛片免费播放视频| 国产麻豆精品| 青青久热| 九九免费高清在线观看视频 | 黄视频网站在线免费观看| 高清一级做a爱过程不卡视频| 国产网站免费| 久久国产精品永久免费网站| 久久国产精品永久免费网站| 国产不卡福利| 天天做日日爱| 国产精品自拍在线| 青青久热| 国产不卡精品一区二区三区| 国产成+人+综合+亚洲不卡| 天天做日日爱夜夜爽| 国产一区二区精品久久| 免费国产在线观看| 午夜精品国产自在现线拍| 午夜欧美成人香蕉剧场| 天天做日日爱夜夜爽| 韩国三级视频网站| 日本免费区| 一级女性全黄久久生活片| 999久久狠狠免费精品| 国产91精品露脸国语对白| 中文字幕一区二区三区精彩视频| 精品国产一区二区三区精东影业 | 亚洲精品久久久中文字| 亚洲精品中文字幕久久久久久| 欧美a级片免费看| 日本免费区| 欧美另类videosbestsex久久| 日韩中文字幕一区二区不卡| 久久成人性色生活片| 超级乱淫伦动漫| 沈樵在线观看福利| 欧美另类videosbestsex视频| 国产成人精品影视| 麻豆网站在线看| 久久国产影院| 九九精品久久| 韩国三级香港三级日本三级la | 欧美日本二区| 国产精品1024永久免费视频| 精品国产三级a∨在线观看| 日本特黄特色aaa大片免费| 色综合久久天天综合观看| 天天做日日爱| 国产精品自拍一区| 四虎影视库| 国产伦理精品| 国产国语对白一级毛片| 亚洲精品影院| 国产视频一区在线| 91麻豆精品国产片在线观看 | 日韩av东京社区男人的天堂| 国产视频一区在线| 九九热国产视频| 日韩中文字幕在线播放| 国产网站免费视频| 四虎影视库| 黄视频网站免费观看| 青青青草影院| 国产一区二区精品久久| 国产伦久视频免费观看视频| 日韩女人做爰大片| 精品久久久久久中文字幕2017| 日韩一级黄色| 国产一级生活片| 美女免费精品视频在线观看| 成人高清视频免费观看| 韩国毛片| 色综合久久天天综合绕观看| 日本在线不卡视频| 欧美α片无限看在线观看免费| 日韩男人天堂| 香蕉视频久久| 九九久久99| 天天色成人网| 91麻豆精品国产自产在线| 青青青草影院| 国产91丝袜在线播放0| 99热精品一区| 国产a一级| 精品国产三级a| 国产成+人+综合+亚洲不卡| 午夜在线亚洲| 欧美a级片免费看| 日韩一级黄色大片| 欧美1区2区3区| 香蕉视频久久| 精品视频在线观看一区二区三区| 久久成人综合网| 欧美国产日韩一区二区三区| 在线观看成人网 | 精品视频一区二区| 亚飞与亚基在线观看| 91麻豆精品国产片在线观看| 黄视频网站免费观看| 九九精品久久| 国产原创视频在线| 日本伦理网站| 美国一区二区三区| 久久成人综合网| 九九精品久久| 亚洲www美色| 国产麻豆精品视频| 国产一区二区精品在线观看| 成人免费福利片在线观看| 国产精品1024永久免费视频| 日韩在线观看视频免费| 国产亚洲精品aaa大片| 999精品视频在线| 精品视频一区二区| 美女被草网站| 国产成人欧美一区二区三区的| 国产一区二区精品久久91| 国产激情一区二区三区| 四虎影视久久久| 欧美国产日韩在线| 青青久久网| 日本免费看视频| 欧美激情一区二区三区在线| 国产麻豆精品视频| 久草免费资源| 免费毛片基地| 亚洲精品久久玖玖玖玖| 国产精品123| 青青久热| 日本特黄一级| 亚洲第一页色| 国产成a人片在线观看视频| 你懂的日韩| 黄色短视频网站| 欧美激情一区二区三区在线| 你懂的国产精品| 国产不卡在线观看视频| 成人免费观看的视频黄页| 欧美激情一区二区三区中文字幕| 欧美日本二区| 国产精品自拍在线| 日韩av成人| 精品视频在线观看视频免费视频| 国产一区二区福利久久| 欧美爱爱网| 尤物视频网站在线| 国产一区二区福利久久| 免费一级片在线| 天天做日日爱| 欧美日本免费| 免费一级片在线观看| 欧美大片一区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品在线观看一区| 国产成人啪精品| 国产伦精品一区三区视频| 精品国产香蕉在线播出| 日本特黄特黄aaaaa大片| 亚洲第一色在线| 久久国产一久久高清| 国产激情一区二区三区| 国产精品1024永久免费视频| 欧美1区2区3区| 精品国产一区二区三区久久久狼| 日本特黄特色aaa大片免费| 久草免费在线观看| 久草免费在线观看| 国产91精品一区| 黄视频网站免费看| 精品在线观看国产| 欧美激情一区二区三区视频高清 | 精品国产一区二区三区久久久蜜臀 | 91麻豆精品国产自产在线观看一区| 99热视热频这里只有精品| 国产韩国精品一区二区三区| 四虎影视久久久| 美国一区二区三区| 日本免费看视频| 亚洲wwwwww| 国产精品1024在线永久免费| 黄视频网站在线免费观看| 九九免费高清在线观看视频 | 国产成人精品综合久久久| 欧美一区二区三区在线观看| 国产精品自拍在线观看| 九九精品在线| 一本高清在线| 国产一区二区精品久久|