düzgün bir şekilde kullanarak, bir istemcinin sorguladığını aramak zorunda olan bir sunucu çalıştırıyorum. İstemci sorgusunu kayıt için diske yazmak istiyorum, ancak aramam gerekenden daha fazla yavaşlatmak istemiyorum. (Arama zaten darboğazdır ...)Tekil tasarım desenini
Yani, istemci bir arama yaptığında, istemcinin iş parçacığı istemcinin iş parçacığı, tek bir iş parçacığı için bir ileti gönderir, bu istemci iş parçacığı sırasında disk yazma işlemek müşterinin isteklerini ele almaya devam ediyor. Bu şekilde, diskteki dosyalar senkronizasyon sorunlarına yol açmaz ve istemcilerin deneyimini yavaşlatmaz.
Burada kavramsal bir sorum var: bu davada uygun olan tekton mu? Son programlamamda singleton tasarım desenini biraz fazla kullanıyorum ve amaçlanan kullanım için kullandığımdan emin olmak istiyorum.
Her türlü geri bildiriminiz büyük beğeni topluyor.
Genel mimarinizi görmeden bu soruyu yanıtlamak zor. Tekil paterninde dezavantajlar var (ünite testi zorluklarına neden oluyor, vb.), Ilgili olup olmadıklarını belirlemek size kalmış ... –
Hızlı yanıt için teşekkürler Oli; Birim test zorluklarını okudum ama genel anlamlarını anlamadım. Neden böyle bir öneme sahip küresel durumdan kaçınıyor? Örneğin, bir programın yazdığı diskte sadece bir dosya varsa, farklı bölümler tarafından aynı anda erişilemediğinden emin olmak istemez mi? – Sal
Küresel durumun varlığı, bağımlılıkları enjekte etmeyi zorlaştırabilir (bu, [deneme testi] nin temelidir (http://en.wikipedia.org/wiki/Mock_object)). Daha fazla bilgi için bu konuşmayı izleyin: http://googletesting.blogspot.com/2008/11/clean-code-talks-global-state-and.html. –