我的理解是,當開發人員(公司)開發客戶端和服務時,最好將數據和服務合約放入單獨的程序集以供客戶端和服務應用程序使用。這是爲了避免代碼重複,同時使用例如生成代理類。 SvcUtil工具。在WCF客戶端和服務之間共享合同
這確實是首選的方法,您是否曾經有過這樣一個例外的項目?
我的理解是,當開發人員(公司)開發客戶端和服務時,最好將數據和服務合約放入單獨的程序集以供客戶端和服務應用程序使用。這是爲了避免代碼重複,同時使用例如生成代理類。 SvcUtil工具。在WCF客戶端和服務之間共享合同
這確實是首選的方法,您是否曾經有過這樣一個例外的項目?
我們一直在我們的項目中這樣做,我不知道對這種方法可以說什麼。
共享合約彙編可能會導致不需要的依賴關係,因爲這些合同類(如datacontract \ servicecontract)可以包含方法。這些方法可以在客戶\服務器代碼中透明地調用,從而打破了這些契約的封裝。 Data \ Service合同僅用作共享數據的機制。
服務契約通常只是接口,所以只有方法聲明。至於數據合同,我的意思是他們是純粹的DTO,沒有任何方法。 所以我沒有看到任何打破封裝的跡象。客戶端和服務器應用似乎保持鬆散耦合。 –
但是在這些DTO上定義方法並從客戶端使用這些方法沒有任何阻礙。 – Chandermani