不久之前,我開始了一個新的工作,他們一直在使用WCF處理UI和後端之間的所有數據/業務邏輯,這非常棒。面向對象與基於參數的WCF調用?
我注意到的是,這些WCF服務調用絕大多數都包含各種參數。例如,假設你有一個名爲GetFoo的服務調用。在這裏,我們如下可能會使用簽名:
public Foo GetFoo(int? ID, string Name, DateTime? fooDate)
對於一個更加面向對象的方法,你可能會改用:
public Foo GetFoo(Foo foo)
在這種情況下,代碼抓住它從Foo
POCO對象需要而不是依賴於從UI傳入的特定參數集。
一方面,這提供了UI和WCF服務之間更加靈活的契約。我們可以對服務端的實現進行更改,而不會違反任何合同並更新引用。另外,我們可以有一個業務對象,直接作用於POCO而不是處理顯式的參數列表。
另一方面,目前還不清楚爲了獲得想要的對象/數據需要什麼。
哪種方法會被認爲是最佳實踐?
我在一定程度上看到了你的觀點。 –
WCF的定義是基於服務的,但是,如果您傳遞一個指示行爲的對象與顯式的服務調用來處理每個場景,則可以以OOP方式實現它。我相信這兩種方法都有積極的一面和消極的一面,儘管我的直覺是儘量利用面向對象的方法。 –