人人人妻人人人妻人人人,99精品国产综合久久久久五月天 ,欧美白人最猛性XXXXX,日韩AV无码免费播放

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      PHP設(shè)計(jì)模式之工廠模式詳解

PHP設(shè)計(jì)模式之工廠模式詳解

標(biāo)簽: 發(fā)布日期:2017-10-24 00:00:00 290

在開發(fā)大型系統(tǒng)時(shí),往往會(huì)出現(xiàn)這樣一種情況:

我有一部分基礎(chǔ)數(shù)據(jù),是類classA是從數(shù)據(jù)庫(kù)A讀取出來的,其他很多的功能都是基于這個(gè)基礎(chǔ)數(shù)據(jù)來操作的?,F(xiàn)在呢,我想把數(shù)據(jù)從數(shù)據(jù)庫(kù)A變成從另外的數(shù)據(jù)源去獲取,這時(shí)候,要修改起來就比較麻煩,要修改其他很多類的代碼。這種設(shè)計(jì)顯然是不夠靈活的,換句話說,就是緊耦合的,那么什么是緊耦合呢?緊耦合就是指系統(tǒng)中某個(gè)部分的函數(shù)或類嚴(yán)重依賴于系統(tǒng)的其他部分中的函數(shù)或類的行為和結(jié)構(gòu)。

這時(shí),工廠模式的作用性就體現(xiàn)出來了。

工廠模式    

就是解決這樣的一些情況的設(shè)計(jì)方法。

工廠模式是一種類,建立了一個(gè)工廠來根據(jù)所需來創(chuàng)建對(duì)象,這種方式在多態(tài)性編程中是很重要的,允許動(dòng)態(tài)替換類,修改配置等。

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

<?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(); 

?>