Posted on 2006-03-22 13:26
大大毛 阅读(279)
评论(2) 编辑 收藏
今天面试之后,按原定计划去超市逛了(这是我除代码外最喜欢的了)。还是老规矩,去了3个多小时。不过回头倒是不爽,突然下雨,一出超市就上了50路(谁叫我看它上面有到上社的呢),结果是坐反了,只有多花了1个小时才回来。
回来的路上,想到了去年看EJB那本书时对框架和模式的体会,想想也挺有意思,就放上来。
体会不深,只能从肤浅的外表谈谈了。
框架就是一段代码,可能很大,但也是“一段”实际的代码。模式完完全全是个“虚”的东东,啥也没有,只有一种构思在那里。模式跟那种接口一样,说起来都是“实现”了某种模式/接口。
拿房屋打个比方,框架就是指框架房,你买到一个房间,它是框架结构的,那是说它四面的承重是有的,但是至于墙有没有那是另说了,你可以自己建,也可以拆掉,就是这么一回事,但是那个承重的框架是实实在在的摆在你眼前的,它是实物,只不过是房间的一部分而已。而模式就不同了,模式相当于在建房时,人家以往的经验就会告诉你,你只要建房(超过一层),就需要一个楼梯。至于楼梯是如何去建,是什么样的,人家都没有告诉你,只会告诉你用它来上,下楼而已,它就是一种经验之谈,是全虚的东西,你真要建了,可能用一个木梯来实现,又或者普通楼梯/电梯之类的。
想到了楼梯上下楼的情形,又想到昨晚看的那个迭代器模式了。楼房好象一个容器,它里面会有多层的结果,但是你想要知道现在上到哪一层了,好象都是楼梯的作用(电梯尤其如此),可以将电梯看做楼层容器的一个迭代器,容器里面放了好多层,但是它并不会告诉你,你现在所处的位置,你在电梯里面时,由具体的电梯对象来告诉你,同理,一座楼可以拥有多座电梯,那么你在不同的电梯(迭代器对象)里面,可以看到不同的楼层显示(标识被保存在迭代器对象里面了)。联想到的例子即是如此,可能是不太适合吧,管它呢,有点想法总比没有的强。