自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析由Winform轉(zhuǎn)入WCF的思考

開(kāi)發(fā) 后端
在這里我們將談?wù)勔粋€(gè)開(kāi)發(fā)人員關(guān)于由Winform轉(zhuǎn)入WCF的思考,希望本文能對(duì)大家有所幫助。

很多開(kāi)發(fā)人員對(duì)于Winform還比較熟悉,對(duì)于WCF還是有一定理解上的難度的。本文將從一個(gè)由Winform轉(zhuǎn)入WCF的開(kāi)發(fā)人員的角度,來(lái)進(jìn)行仔細(xì)的思考。

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

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

Step 2.Winform + WCF

Step 3.Winform + Browser + WCF

Step 4.Browser + WCF

但是剛一開(kāi)始接觸WCF ,感覺(jué)很不習(xí)慣 ,原因很簡(jiǎn)單。

但如我有一個(gè)類。

  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();  

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

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

剛開(kāi)始,很不理解 ,覺(jué)得這樣設(shè)計(jì)就相當(dāng)于沖突了。因?yàn)椋?即使A,B都作為服務(wù),管理起來(lái)也很混亂 。

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

沒(méi)有設(shè)計(jì)方面的介紹。

自己想了一下,呵呵,達(dá)人們不要笑,這個(gè)對(duì)俺確實(shí)很難,俺得弄清楚這些的事的來(lái)龍。

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

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

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

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

對(duì)于Class B也做類似處理。

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

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

原文標(biāo)題:從winform轉(zhuǎn)入wcf的初步思考

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

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2009-11-05 11:23:08

WCF宿主

2013-03-05 10:05:52

2010-02-25 13:35:27

WCF tcpTrac

2010-02-25 10:35:17

WCF排隊(duì)調(diào)用

2013-12-12 16:28:04

Lua腳本語(yǔ)言

2022-11-07 19:08:28

transform屬性瀏覽器

2009-11-06 15:41:25

WCF自托管宿主

2010-03-30 08:40:36

WCF

2010-06-02 16:22:58

2009-07-23 10:25:39

WCF的Duplex服

2014-03-07 11:32:18

2010-02-22 10:52:34

PDA訪問(wèn)WCF

2010-03-01 18:04:35

WCF配置綁定

2010-03-02 09:24:22

WCF變更行為

2023-04-13 08:33:51

2010-02-24 10:41:28

WCF服務(wù)保護(hù)

2009-08-17 15:48:47

C# WinForm進(jìn)

2009-09-11 10:41:20

C# WinForm控

2011-05-12 14:42:51

SEO

2009-09-11 11:33:58

C# WinForm控Attribute
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)