2012-02-14 75 views
0

我正在爲一個新項目構建一些業務對象,我想知道是否最好將數據訪問代碼作爲應用程序的一部分,或將它放在服務之後。我已經看到Jeff Atwood稱讚反覆使用Web服務的想法......這不是針對Web應用程序,但我認爲使用WCF我可以完成同樣的事情。WCF與直接sql訪問的性能

我知道在做出這樣的決定時有幾個方面需要評估,每個方面都有自己的優點和缺點,而且大多數情況下,我覺得我有權處理與產品相關的每個問題的權衡,除了演出領域。

例如,存在代碼來緩存對象......並且在直接訪問sql時效果很好,因爲對象在單個機器上緩存,但缺點是它們每個都必須查詢數據庫。另一方面,服務只需要查詢數據庫一次,然後分發對象,但服務分發這些對象的速度要慢於客戶端自己訪問數據庫的速度。

如果速度較慢,則可能需要在客戶端編寫其他代碼,例如緩存從服務獲取的對象。每個客戶端直接訪問數據庫的負載都不錯,所以我不知道這是否值得額外的努力。但如果速度超快,那麼它可以讓我更容易管理與分佈式對象相關的問題。

我希望我不會在這裏一般,我可以嘗試改善這個問題,如果有必要,但我相信這幾乎表達了我想問的。

回答