首頁 後端開發 php教程 畢業設計ppt格式 介紹php設計模式中的工廠模式

畢業設計ppt格式 介紹php設計模式中的工廠模式

Jul 29, 2016 am 08:38 AM

問題
你如何能輕鬆方便地建立這麼" 複雜 " 的對象即操作中不需要貼上複製呢?
解決方法
建立一個工廠(一個函數或一個類方法)來製造新的對象。為了理解工廠的用處, 試想以下的不同之處…
代碼:

複製代碼 代碼如下:



代碼如下:



代碼如下: 代碼如下:


$connection =& new MySqlConnection($user, $password, $database); 


…讓你的程式碼可擴充且更簡潔…



複製程式碼

程式碼如下:$connection =& create_connection(); 

後者的程式碼片段集中在和資料庫連接的create_connect()工廠上 ,就像剛才說的一樣,使創造資料庫連線的過程成為一個簡單的操作—就像new操作一樣。工廠模式的優點就在創建物件上。 它的任務就是把物件的創建過程都封裝起來,然後回傳一個所需的新類別。
想改變物件的結構和建立物件的方式嗎? 你只需選擇物件工廠,程式碼的改變只需要一次就夠了。 ( 工廠模式的功能是如此強大, 它處於是應用的底層, 所以在許多其餘的複雜模式和應用中它會不停地出現。)
樣本代碼
工廠模式封裝了對象的建立過程。 你可以在物件本身創造物件工廠或是額外的工廠類別-這要看你具體的應用。讓我們來看一個工廠物件的例子。
我們發現下面程式碼中,資料庫連線的部分重複出現:



複製程式碼

程式碼如下:


/ / PHP4 
class Product { 
function getList() { $db =& new MysqlConnection(DB_USER, DB_PW, DB_NAME); ) { $db =& new MysqlConnection(DB_USER, DB_PW, DB_NAME); 
//... 

//...  >好? 資料庫連接的參數出現的地方太多了,當你把這些參數設成常數,意味著你統一定義並對他們進行賦值,顯然這種做法不是很妥當: 你可以輕鬆地改變連接資料庫的參數,但你不能增加或改變這些參數地順序,除非你把所有連接代碼都改了。 你不能輕鬆的實例化一個新類別去連接另一個資料庫,比如說PostgresqlConnection。

這樣很難單獨測試和證實連接對象的狀態。

使用工廠設計模式,程式碼將會得到很大的改進:



複製程式碼

程式碼如下:


class Product { 
function getList() { 

$db =& $this->_getConnection(); 
//... 

}  functionMy&_ConnectionConnection ( (DB_USER, DB_PW, DB_NAME); 

先前的類別中有許多呼叫new MysqlConnection(DB_USER,  DB_PW, )方法上。 以上就介紹了畢業設計ppt格式 介紹php設計模式中的工廠模式,包括了畢業設計ppt格式方面的內容,希望對PHP教程有興趣的朋友有所幫助。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

11個最佳PHP URL縮短腳本(免費和高級) 11個最佳PHP URL縮短腳本(免費和高級) Mar 03, 2025 am 10:49 AM

11個最佳PHP URL縮短腳本(免費和高級)

Instagram API簡介 Instagram API簡介 Mar 02, 2025 am 09:32 AM

Instagram API簡介

在Laravel中使用Flash會話數據 在Laravel中使用Flash會話數據 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash會話數據

構建具有Laravel後端的React應用程序:第2部分,React 構建具有Laravel後端的React應用程序:第2部分,React Mar 04, 2025 am 09:33 AM

構建具有Laravel後端的React應用程序:第2部分,React

簡化的HTTP響應在Laravel測試中模擬了 簡化的HTTP響應在Laravel測試中模擬了 Mar 12, 2025 pm 05:09 PM

簡化的HTTP響應在Laravel測試中模擬了

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

php中的捲曲:如何在REST API中使用PHP捲曲擴展

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12個最佳PHP聊天腳本

宣布 2025 年 PHP 形勢調查 宣布 2025 年 PHP 形勢調查 Mar 03, 2025 pm 04:20 PM

宣布 2025 年 PHP 形勢調查

See all articles