WCF應用程式的程式集劃分

2021-09-08 15:22:26 字數 525 閱讀 2331

wcf tips之二

wcf應用程式通常屬於分布式的soa方案。為了體現服務契約的特點,有必要在設計wcf應用程式時,注意程式集的劃分。

原則上,我們需要將服務契約、資料契約、服務實現分為單獨的三個程式集,這樣可以在一定程度上解除服務契約與服務實現的耦合,也便於對資料契約物件的管理。更重要的是,wcf客戶端可以有效地重用服務契約程式集與資料契約程式集。

假定該應用程式名為wcfsolution,則各自的程式集以及命名空間為:

服務契約:wcfsolutionservicecontract

資料契約:wcfsolutiondatacontract

服務實現:wcfsolutionserviceimplementation

三者的依賴關係為:服務契約依賴於資料契約,服務實現依賴於服務契約與資料契約。在部署客戶端時,不需要提供服務實現類的程式集。

以上設計看似簡單,然而一旦我們從一開始就養成了良好的設計習慣,會在以後進行wcf應用程式的開發時,起到事半功倍的效果。

實際上,這同樣體現了分層式架構的思想。

程式集和應用程式域

程式集是一組型別和資源的集合,是乙個邏輯功能單元,多個程式集協同工作完成一定的功能。當前主要指.dll檔案或.exe 檔案 程式集清單是程式集的一部分,包含程式集名 程式版本資訊 程式集中所有檔案的列表 型別引用資訊等等 程式集可分為單檔案程式集 例如包含乙個.dll檔案 和多檔案程式集 例如包含乙...

程式集,模組, 應用程式域,全域性程式集快取

1 私有程式集 我們通常用到的就是私有程式集。這種情況下,我們建立本地應用程式專案 或元件 編譯後就生成dll或exe型別的私有程式程式集。當我們在其他客戶應用程式中使用這類程式集時,只需要新增引用。當這樣的程式集被多個應用程式域使用時,每個應用程式域需要複製該程式集,程序中也將存在該程式集的多個副...

Spark應用程式執行 階段的劃分

sparkcontext物件包含有乙個私有屬性dagscheduler階段排程器,主要用於階段的劃分。在乙個應用程式中,任務的提交都是從行動運算元觸發的。行動運算元的方法內部會呼叫乙個runjob方法,其中就有dag排程器發揮執行job的作用 dagscheduler.runjob rdd,clea...