日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
淺析由Winform轉入WCF的思考

很多開發(fā)人員對于Winform還比較熟悉,對于WCF還是有一定理解上的難度的。本文將從一個由Winform轉入WCF的開發(fā)人員的角度,來進行仔細的思考。

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

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

Step 2.Winform + WCF

Step 3.Winform + Browser + WCF

Step 4.Browser + WCF

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

但如我有一個類。

 
 
  1. class A{
  2. A(String id);
  3. void op(){};
  4. B getB(){};
  5. String p1{get;set;}
  6. }
  7. class B{
  8. string id;
  9. void op2();
  10. }

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

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

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

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

沒有設計方面的介紹。

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

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

在WCF中,對A,B的邏輯應該如下處理.

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

 
 
  1. Code
  2. class ServiceA{
  3. DataContractA Op(DataContract A);//對應于A.op()
  4. DataContractA GetDataContractA(string id);//對應于A的構造函數
  5. DataContractB GetB(DataContrac A);//對應于A.getB()
  6. }
  7. class DataContractA{
  8. String p1{get;set;}//對于應A的屬性p1
  9. }

對于Class B也做類似處理。

 
 
  1. class ServiceB{
  2. DataContractB Op2(DataContractB b);//對應于B.op2
  3. }
  4. class DataContractB{
  5. string id{get;set;}//對應于b.id
  6. }

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

鏈接:http://www.cnblogs.com/geyunfei/archive/2009/11/01/1594066.html


新聞名稱:淺析由Winform轉入WCF的思考
網頁地址:http://www.5511xx.com/article/cdiicce.html