一个设计反模式——究竟什么是轮子理论
??????? 發這篇文章是從看到一篇《也談”輪子理論”》引起的,作者的觀點是說,如果真的像輪子理論一樣,那么這個世界上就沒有了新技術的誕生。那是不是輪子理論本身的局限性呢?我個人有著不同的見解。
??????? 輪子理論這個的概念,我第一次看到是在一本圖靈的反模式書上看到的,其中有一條反模式解決方案叫做不要重復發明輪子,就是說當我們做一個項目,或者需要一個技術的解決方案時,我們第一步不是去想,我們要如何解決這個問題,而是應該先去搜索資料,找到這個問題曾經有什么解決方案或者好的方法,我們把這個叫做“輪子理論”。
??????? 作者的觀點是如果真的輪子理論廣泛試用,那么當初有了JAVA為什么還需要.NET,有了Struts為什么還需要有Webwork,有了一個NHibernate為什么還要搞出一個LINQ出來,當初學馬克思主義哲學的時候有這樣一句話,叫馬克思主義哲學是與時俱進的。當然,輪子理論也是一樣。
????????究竟什么是輪子理論?
??????? 誠然,如果單純地做應用,做商業項目,輪子理論是廣泛適用的。項目周期短,時間緊,當你發明輪子結束后,便會發現用戶已經催著你要項目了。而你的整個汽車還只有一個輪子而已。完蛋.........
????????我對輪子理論做了這樣一個總結。輪子理論是先找到輪子,然后學會如何使用輪子,然后把這個輪子針對你的汽車做出適當的改善,當有一天發現你的輪子已經不再適用,或者說已經沒有改善價值的時候,算了,拋棄輪子,開始發明你的心輪子。這才是輪子理論一個循序漸進的步驟!
??????? 說說微軟的.NET Framework,當初Sun公司JAVA的如火如荼,微軟并沒有在第一時間推出.NET,而是在八年之后,當他發現了JAVA的很多弊端之后,開學效率低,框架沒有業界標準,JVM效率偏低。于是才重新發明出了.NET這個大輪子。試想,如果微軟在第一時刻不去看輪子,而馬上就去發明新輪子,那今天的.NET會是如何?
??????? 廢話說了一大堆,只是對每個質疑輪子理論的人提個建議,對于每個人來說,輪子理論還是普遍使用的,關鍵在于我們要理解一個正確的輪子理論模型!
???????? 08年過去,大學也即將畢業,年后要開始自己的第一份工作了,基于WorkFlow的開發,還真是個全新的挑戰呢。總之,新年繼續專注.NET,夢想不變!
總結
以上是生活随笔為你收集整理的一个设计反模式——究竟什么是轮子理论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NHibernate Step by S
- 下一篇: 春节英语祝福【中英文对照】