Posted on 2006-03-22 13:26
大大毛 閱讀(284)
評論(2) 編輯 收藏
??????今天面試之后,按原定計劃去超市逛了(這是我除代碼外最喜歡的了)。還是老規矩,去了3個多小時。不過回頭倒是不爽,突然下雨,一出超市就上了50路(誰叫我看它上面有到上社的呢),結果是坐反了,只有多花了1個小時才回來。
??????回來的路上,想到了去年看EJB那本書時對框架和模式的體會,想想也挺有意思,就放上來。
??????體會不深,只能從膚淺的外表談談了。
??????框架就是一段代碼,可能很大,但也是“一段”實際的代碼。模式完完全全是個“虛”的東東,啥也沒有,只有一種構思在那里。模式跟那種接口一樣,說起來都是“實現”了某種模式/接口。
??????拿房屋打個比方,框架就是指框架房,你買到一個房間,它是框架結構的,那是說它四面的承重是有的,但是至于墻有沒有那是另說了,你可以自己建,也可以拆掉,就是這么一回事,但是那個承重的框架是實實在在的擺在你眼前的,它是實物,只不過是房間的一部分而已。而模式就不同了,模式相當于在建房時,人家以往的經驗就會告訴你,你只要建房(超過一層),就需要一個樓梯。至于樓梯是如何去建,是什么樣的,人家都沒有告訴你,只會告訴你用它來上,下樓而已,它就是一種經驗之談,是全虛的東西,你真要建了,可能用一個木梯來實現,又或者普通樓梯/電梯之類的。
??????想到了樓梯上下樓的情形,又想到昨晚看的那個迭代器模式了。樓房好象一個容器,它里面會有多層的結果,但是你想要知道現在上到哪一層了,好象都是樓梯的作用(電梯尤其如此),可以將電梯看做樓層容器的一個迭代器,容器里面放了好多層,但是它并不會告訴你,你現在所處的位置,你在電梯里面時,由具體的電梯對象來告訴你,同理,一座樓可以擁有多座電梯,那么你在不同的電梯(迭代器對象)里面,可以看到不同的樓層顯示(標識被保存在迭代器對象里面了)。聯想到的例子即是如此,可能是不太適合吧,管它呢,有點想法總比沒有的強。