我不是一個「死硬」的編碼器,我需要一些建議。我應該多久創建一個類的新實例?
我正在開發一個網站,用戶可能會搜索商店或品牌。
我創建了一個類,名爲搜索和商店。
執行搜索有兩種方式:「jQuery Live Search」和「正常搜索」。
在2個字符以上輸入的每個字符都會觸發實時搜索。所以如果你輸入5個字符,搜索會執行3次。如果您要查找的商店位於下拉列表中,則可以點擊商店,商店頁面將被加載。
其他搜索是在輸入3個或更多字符後單擊搜索按鈕時。
執行搜索時,都會將下面的代碼執行
$search = new Search();
$result = $search->search($_GET);
每個商店頁面加載$store = new Store()
執行時間。
我的問題是這樣的:
假設我得到一個非常成功的網站,我有不要蜘蛛每小時100個用戶。每個用戶至少搜索3次並查看至少5個商店。
這意味着300到900個搜索對象每小時創建500個存儲對象。
創建如此多的新對象是不好還是不好?
我讀過一些關於Singleton
,但許多建議反對這一點。
我應該怎麼做才能達到最佳性能?任何特定的設計模式,我應該使用?
創建對象應該是最不關心的問題。我不使用PHP,但是Java和C#都可以每秒創建數十萬個對象(實際上,對於最平凡的對象來說,其實數百萬)。或者考慮像Python這樣的語言,甚至整數是對象*(有些被緩存)。即使拋出兩個因素十,你仍然很安全。所以,請。設計「良好」並*運行績效分析*。 – 2011-03-23 20:40:34
@pst非常好的一點。以表演的名義犯下了很多罪。如果你的代碼編寫的很好,經常重構,你將總是有一個很好的開始做性能調整。你可以做負載測試來發現瓶頸。 – 2011-03-23 20:47:54
@pst - 謝謝。我只是一名前端開發人員,從來不必擔心這些事情。很高興知道創建對象不會窒息服務器。我會盡我所能設計,並在時間到時進行性能測試:) – Steven 2011-03-23 20:53:48