一個經典的WCF解析

很久以前,有一家小商店,靠賣些水果過日子。競爭是如此激烈,爲了生存,他們不得不自己進貨,把貨堆到自己的房間內,如果顧客需要,他們有時還不得不給顧客送貨,總而言之,他們將所有該乾的活都幹了,只爲了能賺到點生活費,這就是艱辛的人生。

一個web程序或者一個winform程序,簡單模式的程序,我們通常都如那個水果店的老闆一樣,把所有的功能都集中到這個程序裏,在簡單的狀況下,這很好。

水果店生意越來越好,老闆的資金慢慢雄厚了,他注意到了賣其他東西比賣水果更賺錢,比如說家電、服裝。於是,老闆一口氣又開了幾家店。生意規模越來越大,錢也越賺越多,老闆心花怒放。然而好景不長,亞洲金融風暴來襲,利潤率急劇下降。老闆憂心忡忡,既然外部開源不太可能,那就看看內部能不能節流了。老闆考察一番,注意到,爲了銷售,每個店都配置了一個倉庫,每個店都配置了一幫送貨的人馬,這,是不是太浪費了。於是,老闆將所有的倉庫撤銷,成立了一個總倉庫,不管是水果,家店,服裝,都可以存儲到這個倉庫。管理一個倉庫的費用比管理N個倉庫的費用顯然是要少很多的。然後,每個店的送貨人員都辭掉,另外成立一個運輸公司,專門負責送貨,不過水果還是家店還是服裝,裝到紙箱後,他們都是一個樣。經過這麼一折騰,成本一下就降了下來,而且還便於管理了,真是一舉兩得,老闆又綻放了笑容。

當程序涉及的範圍越來越大時,也許就要考慮將服務分離出去。WCF是應對分佈式開發的,就如水果店老闆,生意大了後,他就是個分佈式的了,這邊一家水果店,那邊一家服裝店,他們之間有區別,賣的東西不同,也有共性,都是賣東西,不管是哪家店,他們都需要倉庫,都需要送貨。這時,你就可以單獨成立公司,只提供這兩種服務。如果寫成程序,那麼就如同你開發了一個運輸的WCF,把這個服務放在服務器上,這樣不管是誰,是Web程序也好,是Winform程序也好,只要接口對應,理解你的服務內容條款(服務契約),都可以要求你這個服務模塊提供標準的服務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章