2009-12-07 192 views
16

我有一個業務層有一些業務對象/ POCOs /實體/無論。我也有一些數據訪問存儲庫。直到這一點,我一直直接從我的UI層訪問存儲庫。我現在需要一些不是直接CRUD的類,所以我將創建一些業務邏輯類來完成邏輯,CRUD和存儲庫不會被用戶界面(這應該從一開始就已經完成)。業務邏輯類命名

我該怎麼稱呼這些類?我唯一能想到的就是服務類,但是我在這個應用程序中有實際的WCF服務,所以這會讓人感到困惑。 WCF服務也將使用這些類,因此使服務類使用服務看起來很奇怪和令人困惑。

回答

11

我也使用「服務」命名約定。確實,「服務」已成爲行業中一個非常超負荷的術語,但它是最有意義的。審查代碼的開發人員應該能夠確定應用程序/域服務與WCF服務之間的區別,並且在有WCF服務調用其他服務類時可能會讓人困惑,但我認爲您會發現它不是。服務的理念在於它是執行功能的代碼,可供其他代碼使用。它可能是一個內部服務,或者它可能是一個通過http或任何外部公開的服務。但是代碼的作用是一樣的。

3

如果你的「服務」使用的是數域對象的編排業務邏輯,你有可能實現Facade Pattern - 所以,或許你可以用這個後綴名他們,如OrderManagementFacade

+0

這種模式對我來說是新的,但我喜歡它。與「服務」不同,它非常具有描述性。 – 2016-08-11 20:25:01

+0

它是描述性的,除非沒有域對象,並且這些「服務」自己執行邏輯。 – Vakho 2017-10-12 08:18:26

3

從你的描述,這聽起來像WCF類實際上正在實施服務主機。我通常用「ServiceHost」後綴命名這些類。它將它們與實際的服務類別很好地分開。因此,例如,您將在名爲「CustomerService」的類中擁有業務邏輯,並將相應的WCF類命名爲「CustomerServiceHost」。