范型的轉變

2021-03-31 08:56:57 字數 1159 閱讀 4264

還是回到上次聽講座的時候,第一部分的就是「范型的轉變」,其中的內容主要講了瀑布式模型怎麼在一開始就不成立,而因為誤解卻廣為傳播。同時,迭代式開發也並非是瀑布式開發的後繼者或者改良,而是同步發展的另一種對軟體開發的思維方式。也就是另一種范型。

呵呵,兩頭牛在聊天,一頭說:「最近瘋牛症很流行啊?搞得我擔心的都吃不下東西了。」,另一頭說:「笨蛋啊,你擔心什麼啊?我們是袋鼠,怎麼會得瘋牛症呢?」

的確,講「瀑布模型是錯的」似乎真的沒什麼意義。好像每個人都知道。問題是,那麼你用的又是什麼方法呢?或者說,如果條件都按照理想情況,你認為軟體開發會是怎樣的方式進行?

larman的舉的例子很有意思,他用中世紀的放血**來比擬錯誤的軟體開發范型。放血**,是根據古希臘醫學之父希波克拉特提出的理論,認為人體內有4種液體:血液,黏液,黃膽汁和黑膽汁。液體失衡了就會產生疾病。(是不是和中醫有點像啊)根據這種理論,通過放血來改變體內血液的含量就可以治病了。

這種**有沒有用呢?現代的有健康常識的人都可以判斷出來,它的無效,不是因為實施的手段,而是基本的前提是錯的。這個前提即為范型。也就是脫離了技術限制的情況下,事物如何發展的根本的,理想的模型。

在技術限制之下,有著不同的范型的個體行為有時會區別不大,而且限制越大,區別越小。睡夢中被大火驚醒的人們的反應不會比猴子更好;從高出墜落作自由落體的人和石頭的行為沒有區別。但是,如果只是在技術層面去觀察,從而抹殺范型對個體的全部行為的指導價值(好像經常可以在論壇上看到的「管他什麼方法,能作出來就行」之類的昏話)。就像是認為拉磨的驢和千里馬沒有區別一樣。

乙個乞丐說:「天下最美的事情莫過於作皇帝了,皇帝全身的衣服都是金子作的。」另乙個乞丐說:「那怎麼行,硬梆梆的衣服,還怎麼給人叩頭行禮要錢啊」

接觸新的范型的人,往往還在使用過去的思維方式,或者只是把原有的經驗硬塞到新的環境中。考慮每個第一次了解地球是圓的的小孩都可能問的問題「那地球那一邊的人怎麼不會掉下去啊?他們頭朝下不難受麼?」larman的《七步搞死rup》(

《非程式設計師》第37期

)同樣描述了這樣的思維方式在軟體過程中的表現。

嫦娥是吃了靈藥飛上月亮的。

萬戶在椅子下面綁滿花炮希望飛上天。

儒勒·凡爾耐的《從地球到月亮》,飛船是從一門大口徑火炮中發射出去的。返回地球的辦法是:在月亮上找了乙個山崖,把飛船推下去,就掉回地球了。

基於舊的范型,即使是幻想反映的仍只是舊的范型的技術手段,真實的世界往往比幻想更為寬廣和深邃。

generics 范型 的使用

什麼是范型?u system.collections.generic命名空間包含了范型集合需要的類和介面 u 我們在寫程式的時候 經常需要這種東西 可變長度的 array,比如說乙個 string 而事實上定義了乙個 string 並初始化後那麼它的長度就固定了 array 根本做不到 如果非要實現...

TypeScript中的范型

比如我們有乙個函式,如果不使用范型是這樣的 function getdata arg number number它只能傳入number型別,如果我們要傳入乙個string型別的是編譯不通過的,所以我們可以寫另乙個函式或者用any型別 function getdata1 arg string stri...

C 范型入門

范型是microsoft.net 2.0裡面乙個新加的內容,它使得c 語言更加完美。鑑於范型這個概念炒作炒得太虛,而缺少實際例子,使得很多菜鳥搞不懂這個概念,所以我來詳細說明1個例子程式,大家就能明白了。一 首先在vs2005環境裡面新建乙個控制台應用程式 console 二 完成如下 static...