我正在運行一個服務器,有時必須搜索客戶端查詢的內容。我想將客戶端查詢寫入磁盤以獲取記錄,但我不想再拖慢搜索速度。 (搜索已經是瓶頸......)正確使用單身設計模式
因此,當客戶端執行搜索時,我讓客戶端的線程向單線程發送消息,該線程將處理磁盤寫入,而客戶端線程繼續處理客戶的請求。這樣,磁盤上的文件不會出現同步問題,並且不會降低客戶端的體驗。
我在這裏有一個概念性問題:在這種情況下是單身人士嗎?在我最近的編程中,我一直在使用單例設計模式,並且我想確保我將它用於其預期的用途。
任何反饋,非常感謝。
如果沒有看到您的整體架構,很難回答這個問題。單身模式存在缺陷(導致單元測試困難等),由您決定是否相關... – 2012-01-02 23:08:34
感謝Oli的快速反應;我已閱讀過有關單元測試的困難,但並不瞭解整體影響。爲什麼要避免這種重要性的全球狀態?例如,如果一個程序寫入的磁盤上只有一個文件,是不是想確保它不能同時被不同的部分訪問? – Sal 2012-01-02 23:14:18
全局狀態的存在可能使注入依賴變得困難(這是[模擬測試](http://en.wikipedia.org/wiki/Mock_object)的基礎)。請觀看此講座瞭解更多詳情:http://googletesting.blogspot.com/2008/11/clean-code-talks-global-state-and.html。 – 2012-01-02 23:15:32