WCF Tips之二
WCF應用程序通常屬於分布式的SOA方案。為了體現服務契約的特點,有必要 在設計WCF應用程序時,注意程序集的劃分。
原則上,我們需要將服務契約、數據契約、服務實現分為單獨的三個程序集 ,這樣可以在一定程度上解除服務契約與服務實現的耦合,也便於對數據契約對 象的管理。更重要的是,WCF客戶端可以有效地重用服務契約程序集與數據契約 程序集。
假定該應用程序名為WCFSolution,則各自的程序集以及命名空間為:
服務契約:WCFSolutionServiceContract
數據契約:WCFSolutionDataContract
服務實現:WCFSolutionServiceImplementation
三者的依賴關系為:服務契約依賴於數據契約,服務實現依賴於服務契約與 數據契約。在部署客戶端時,不需要提供服務實現類的程序集。
以上設計看似簡單,然而一旦我們從一開始就養成了良好的設計習慣,會在 以後進行WCF應用程序的開發時,起到事半功倍的效果。
實際上,這同樣體現了分層式架構的思想。