百度知道上面关于WCF的比喻

很久以前,有一家小商店,靠卖些水果过日子。竞争是如此激烈,为了生存,他们不得不自己进货,
把货堆到自己的房间内,如果顾客需要,他们有时还不得不给顾客送货,总而言之,他们将所有该
干的活都干了,只为了能赚到点生活费,这就是艰辛的人生。一个web程序或者一个winform程序,
简单模式的程序,我们通常都如那个水果店的老板一样,把所有的功能都集中到这个程序里,在简
单的状况下,这很好。水果店生意越来越好,老板的资金慢慢雄厚了,他注意到了卖其他东西比卖
更赚钱,比如说家电、服装。于是,老板一口气又开了几家店。生意规模越来越大,钱也越赚越多,
老板心花怒放。然而好景不长,亚洲金融风暴来袭,利润率急剧下降。老板忧心忡忡,既然外部开
源不太可能,那就看看内部能不能节流了。老板考察一番,注意到,为了销售,每个店都配置了一
个仓库,每个店都配置了一帮送货的人马,这,是不是太浪费了。于是,老板将所有的仓库撤销,
成立了一个总仓库,不管是水果,家店,服装,都可以存储到这个仓库。管理一个仓库的费用比管
理N个仓库的费用显然是要少很多的。然后,每个店的送货人员都辞掉,另外成立一个运输公司,专
门负责送货,不过水果还是家店还是服装,装到纸箱后,他们都是一个样。经过这么一折腾,成本
一下就降了下来,而且还便于管理了,真是一举两得,老板又绽放了笑容。当程序涉及的范围越来
越大时,也许就要考虑将服务分离出去。WCF是应对分布式开发的,就如水果店老板,生意大了后
,他就是个分布式的了,这边一家水果店,那边一家服装店,他们之间有区别,卖的东西不同,也有
共性,都是卖东西,不管是哪家店,他们都需要仓库,都需要送货。这时,你就可以单独成立公司,
只提供这两种服务。如果写成程序,那么就如同你开发了一个运输的WCF,把这个服务放在服务器
上,这样不管是谁,是Web程序也好,是Winform程序也好,只要接口对应,理解你的服务内容条款
(服务契约),都可以要求你这个服务模块提供标准的服务。
原文地址:https://www.cnblogs.com/pipizhu/p/1773450.html