麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

php教程:php設計模式介紹之偽對象模式

2020-03-24 17:26:34
字體:
來源:轉載
供稿:網友
上文:《PHP設計模式介紹》第五章 注冊模式《PHP設計模式介紹》第六章 偽對象模式html' target='_blank'>面向對象的編程之所以豐富多彩,部分是由于對象間的相互聯系與作用。一個單一的對象就能封裝一個復雜的子系統,使那些很復雜的操作能夠通過一些方法的調用而簡化。(無所不在的數據庫連接就是這樣的一個對象實例。) 然而經常有這樣的情況,對象間的交互性是如此復雜以至于我們不得不面對類似 先有雞還是先有蛋 這樣傷腦筋的問題:如何創建并測試這樣一個對象,他要么依賴于很多已創建的對象,要么依賴于其他一些難以意識到的情況,如整個數據庫的創建和測試。 問題如何分隔并測試一個與其他對象和資源有關的代碼段?又如何再創建一個或多個對象、程序來驗證你的代碼能正常運行? 解決方案 當用situ(或在一個仿真的程序環境中)測試一個對象代價不菲或困難重重時,就可用偽對象來模擬這個行為。偽對象有同真實對象一樣的接口,但卻能提供預編譯響應,能跟蹤方法調用,并驗證調用次序。 偽對象是測試的 特別力量 。他們被秘密訓練,滲透進目標代碼,模擬并監視通信方式,回報結果。偽對象有助于查找和消除程序漏洞并能支持更多正常調試環境下的 防危險 操作。 注:The ServerStub
偽對象模式是另一種測試模式ServerStub的擴展。ServerStub模式替代一個資源并返回其方法所調用的相應值。當其參與指定次序的方法的調用時ServerStub就成了偽對象。 其并非是一個設計模式 本章與其他章不同,因為偽對象是一個測試模式而不是設計模式。這類似于一個附加的章節,但對它的使用 確實很值得你納入到編碼進程中。另一個不同是我們不再關注這個模式如何編碼之類的基礎問題,而是強調 如何在SimpleTest中使用偽對象。 本章先舉一個非常簡單的例子來示范SimpleTest下偽對象的基本機制。然后向你演示如何使用偽對象幫助重構已有代碼與如何測試新的解決方案。 樣本代碼 偽對象是對象在測試中的一個替代品,用它測試代碼更加簡便。例如,替代一個真實的數據連接 這個真實的數據連接由于一些原因而不能實際連接 你就可以創建一個偽對象來模擬。這意味著偽對象需要準確地回應代碼中所調用的相同的應用程序接口。 讓我們創建一個偽對象來替代一個簡單的名為Accumulator的類,這是一個求和的類。如下是最初的Accumulator類: // PHP4
class Accumulator {
var $total=0;
function add($item) {
$this- total += $item;
}
function total() {
return $this- total;
}
}這個類中add()函數先累加值到$total變量中,再交由total()函數返回 。 一個簡單的累加也可以如下面這樣(下面的代碼被編寫為一個函數,但它也可以寫成一個類)。 function calc_total($items, $sum) {
foreach($items as $item) {
$sum- add($item);
}
}
function calc_tax( $amount, $rate=0.07) {
return round($amount- total() * $rate,2);
} 第一個函數calc_total()用一個累加的動作求一系列值的和。下面是簡單的測試: class MockObjectTestCase extends UnitTestCase {
function testCalcTotal() {
$sum = new Accumulator;
calc_total(array(1,2,3), $sum);
$this- assertEqual(6, $sum- total());
}
}讓我們關注第二個例子。假設實現一個真實的累加動作的代價很大。那么用一個簡單的對象來替代它并回應相關代碼就是很好的做法了。使用SimpleTest,你可以用如下代碼創建一個偽累加動作: 為了使用偽對象,具有代表性的做法是你親自寫一個新類(并不要求馬上做)。幸運的是,SimpleTest有一種容易的手段來實現 Mock::generate() 方法。html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一区在线免费视频 | 久久国产精品免费视频 | 成人午夜免费看 | 视频一区二区精品 | 黄色av片三级三级三级免费看 | 国产18视频 | 久久久裸体视频 | 亚洲特黄a级毛片在线播放 久久久入口 | 欧美人与禽性xxxxx杂性 | 一级做人爱c黑人影片 | 成人免费av在线播放 | 欧美日韩在线免费观看 | 99视频有精品视频高清 | 免费一级在线观看 | 精品亚洲福利一区二区 | 五月天影院,久久综合, | 成人激情视频网站 | 欧美一区二区三区免费不卡 | 久久久免费电影 | 欧美精品18 | 免费在线观看一级片 | 欧美a黄| 日韩视频在线观看免费视频 | 全免费午夜一级毛片真人 | 黄色成人在线播放 | av电影手机在线看 | 外国一级黄色片 | 亚洲综合无码一区二区 | 一级免费视频 | 欧美成人区 | 欧美国产一区二区三区激情无套 | 一区二区三区欧美在线观看 | 日本中文字幕网址 | 欧美成人理论片乱 | 国产毛片毛片毛片 | 国产亚洲精彩视频 | 国产成人精品免费视频大全办公室 | 欧美性生活久久久 | 在线看小早川怜子av | 沉沦的校花奴性郑依婷c到失禁 | 中国女警察一级毛片视频 |