编程演变

一、刀工火种

      故事是从这里开始的,有一个村子有十来户人家,背靠着一个木场(数据库),而这个木场的主人是一个叫做“木头”的家伙。

      十来户人家平时的需求都非常少,只需要一些枯枝或落叶做柴火。这时候没有分层的概念,也没有实体(PO)的概念。你需要什么就直接跑到木场去拿(在需要的地方访问数据库,取出需要的东西)。

 

二、数据服务层(DAL)与实体对象(PO)

      后来经济发展了,各地大兴土木。搞建设需要大量的木材,木头灵机一动,办起了DAL木材店,卖起了各种各样的木材(PO),有乔木啦、灌木啦……

      有了这个木材店后,于是人们要木材都不往木场里跑了,在木材店里就要找到自己想要的木材。

木头的木材店生意火爆,他也富了起来,现在开得起宝马了,进得了星级酒店了。

 

三、业务逻辑层(BLL)与业务对象(BO)

      有一天他来到了自己的木材店,有个家伙急急忙忙地闯进来,二话不说就问:“你这里有家私卖(桌子、椅子(BO)……)吗,我要两百套,急啊!客户那边催着要。”

      木头在心里头BS了一阵:“这家伙眼珠子不会是掉了吧,找来木材店买家私”。

      木头没声好气地应道“没有,没有,我这里是木材店,只管卖木材不卖家私”。

      木头回去后,整晚翻来覆去晚不着觉,“家私”一直在他脑海里打转。

      不久他便请了一些木匠回来,办起了一家BLL家私店,做起了家私业务。

      果然,家私供不应求,大赚了一回,他笑得三日也没合上嘴来,结果造成了肌肉拉伤。

 

四、外观层(Façade)与表现层对象(VO)

      后来生意越做越大,各处都有他的分店。

      城市的发展,租金也渐渐地贵了,后来他发现人们一开始并不会去了解产品的所有特性,在人们感兴趣之前。空间制约着发展,成本以日俱增,顾客满意度也在下降。

      问题困扰着他,困扰得他吃不下饭,于是他闭关三月。

      当一个蓬头散发的男子出现在我们面前的时候,不仔细看还不知道,还以为是乞丐。

      他是木头,他出关了!

      他兴奋地在路上狂奔,跑着喊着:“我找到解决方法了,我找到解决方法了……”。

      他决定做产品的模型,开起了Façade模型加工厂(外观层),加工模型并打包成包裹(VO)发到各分店中去。于是商店展览的柜台上便摆放各色各样的家私模型。

 

五、工厂模式与IOC

      他的木场是个小木场,已无法再支持庞大起来的业务了,于是他便去找更大的木材供应商。

      他希望供应商能给符合他品质规格的木材,便制定了各种规约(接口)。

      他找到了一个供应商,并建立了业务关系。

      但后来,那个供应商要求大幅度提价。

      这事使得他急得团团转,他急忙找他的在这行吃得开的好友来商讨对策。他好友听说了后,拍了拍胸膛:“你放心,这事都交给我了”。

      他朋友也借此机会开了间Factory工厂和木材供应商打交道,按照木头制定的规格(接口)找来性价比较好的供应商。 

      这下木头终于又可以省了这份心了。

 

题外话:

      Factory工厂运营良好,他朋友这年头赚了不少,手头上了足够的资金,于是决定升级服务,升级为无线版,全面升级为IOC(依赖注入)服务。

      之前的情况是木头要木材的时候,总要跑到工厂里面来找供应商。

      现在,木头只要一个电话过去,工厂就会指派供应商过来。

      这下一子省心又省事,木头拉着他朋友的手一个劲的道谢,半天也没放下过,结果他朋友的手肿得像个红苹果。

 

六、数据传输对象(DTO)与契约

      随着改革开放,木头也开始在海外有了些的业务。

      随着业务的增多,中间的运输成本急剧增长,于是木头打算在海外寻找代理商。

      这边不再出口成品家私,而是给定规格和制作方式(DTO与契约),代理商再按规格生产出成品家私。

 

      木头一路顺风顺水,一步一步坚实地朝着他家私皇朝的美梦进发。

 

 

题外话:

      写好一篇博文确实不是件容易的事,不过能分享自己的一些积累和见解还是蛮开心的,因水平有限,期望不会误人子弟就好。

      这是第一次在博客园发表文章,欢迎拍砖,如有不正确的地方请及时指正。

posted @ 2010-10-05 03:45  xnaboy  Views(353)  Comments(3Edit  收藏  举报