由Winform轉(zhuǎn)入WCF的實例分析

本篇內(nèi)容介紹了“由Winform轉(zhuǎn)入WCF的實例分析”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、臺江ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的臺江網(wǎng)站制作公司

小生是做Winform出身的,最近一直想往BS方面轉(zhuǎn),覺得WCF對我是一個好的切入點,于是看了一些WCF的資料,個人感覺,去學(xué)習(xí)一門技術(shù),是容易的,難的是怎么把這門技術(shù)和自己己有的知識融會貫通,我學(xué)習(xí)WCF的動機比較簡單的,先學(xué)習(xí)了WCF,把自己現(xiàn)的Winform的系統(tǒng)的業(yè)務(wù)邏輯封裝在WCF,形成Winform +WCF的結(jié)構(gòu),然后再著手進行BS的系統(tǒng)。

Step 1.Winform + 本地業(yè)務(wù)邏輯

Step 2.Winform + WCF

Step 3.Winform + Browser + WCF

Step 4.Browser + WCF

但是剛一開始接觸WCF ,感覺很不習(xí)慣 ,原因很簡單。

但如我有一個類。

class A{  A(String id);  void op(){};  B getB(){};  String p1{get;set;}  }  class B{  string id;  void op2();  }

在這里,我是沒辦法直接將A轉(zhuǎn)為一個服務(wù)的,原因很簡單,如果A作為服務(wù)以后,那么B只能作為這個一個服務(wù)的數(shù)據(jù)約來實現(xiàn)。

B的操作op2就實現(xiàn)不了。

剛開始,很不理解 ,覺得這樣設(shè)計就相當(dāng)于沖突了。因為, 即使A,B都作為服務(wù),管理起來也很混亂 。

而網(wǎng)上關(guān)于WCF的教程,都是實現(xiàn)方面的。

沒有設(shè)計方面的介紹。

自己想了一下,呵呵,達人們不要笑,這個對俺確實很難,俺得弄清楚這些的事的來龍。

覺得在真正的服務(wù)的實現(xiàn)中,相當(dāng)于把一個類的操作和數(shù)據(jù)分開,來降低粒度和耦合,這和OO的思想是不沖突 。

在WCF中,對A,B的邏輯應(yīng)該如下處理.

首先對于A,把A分解成ServiceA和DataContractA兩個類,其中ServiceA作為WCF的服務(wù)契約,而DataContractA作為數(shù)據(jù)契約

Code  class ServiceA{  DataContractA Op(DataContract A);//對應(yīng)于A.op()  DataContractA GetDataContractA(string id);//對應(yīng)于A的構(gòu)造函數(shù)  DataContractB GetB(DataContrac A);//對應(yīng)于A.getB()  }  class DataContractA{  String p1{get;set;}//對于應(yīng)A的屬性p1  }

對于Class B也做類似處理。

class ServiceB{  DataContractB Op2(DataContractB b);//對應(yīng)于B.op2  }  class DataContractB{  string id{get;set;}//對應(yīng)于b.id  }

這樣,原來的邏輯很正常過渡到WCF服務(wù)了

“由Winform轉(zhuǎn)入WCF的實例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

分享文章:由Winform轉(zhuǎn)入WCF的實例分析
轉(zhuǎn)載來于:http://muchs.cn/article48/jepphp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站營銷、網(wǎng)站制作、電子商務(wù)、全網(wǎng)營銷推廣標簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司