一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

軟件設計的真諦

  假設我們身邊的一切都是用制造材料加以描述的:“空調”不是“空調”,而是“由金屬和塑料做成的物體”;“書”不是“書”,而是“由纖維和墨做成的物體”。溝通時我們也不用“空調”和“書”這樣的詞匯,而是“金屬和塑料做成的物體”和“纖維和墨做成的物體”。

  可以想象大腦在面對這些信息時會讓我們覺得多么的痛苦,顯然這樣的事情在現實中很少發生,因為我們的大腦具備很強的抽象能力 ,會通過抽象塑造“空調”和“書”這樣的概念提升溝通效率和維持思維次序。我們學習知識的過程其實就是不斷精確掌握(抽象)概念和建立思維次序的過程。

軟件設計的真諦

  對于程序員來說除了生活在現實世界,還“身處”由程序所構建的虛擬世界中。程序設計其實是在個人頭腦中構建虛擬世界的過程,而維護代碼則首先是通過程序所表達的虛擬世界與其他程序員間接溝通的過程。為了提高程序員間的間接溝通效率,我們一定希望虛擬世界也象現實世界那樣充滿著象“空調”和“書”這樣的概念,也希望程序員們在虛擬世界所使用的概念相似。

  由于現實世界中程序員們已掌握了大量的相似概念,如果能將這些概念帶入虛擬世界,那將顯著提升程序員間通過虛擬世界(即程序)溝通的效率。因此,作者認為軟件設計的真諦,是通過程序構建與現實世界相似的虛擬世界。通常,設計質量越高就越能在虛擬世界中找到現實世界的影子。

  軟件設計活動的關鍵又是什么呢?還是讓我們回到現實世界去尋找答案吧!

  在遠古時期,人類只能通過徒步從一個地方到達另一個地方。后來發現馬可以被馴服,通過馬車能更快地從一處到達另一處。再后來,人類逐步發明了自行車、汽車和飛機,且每一次發明都使得交通效率得以大幅提高。在這里,馬車、自行車、汽車和飛機都共同地為了解決交通效率問題。很顯然,馬車、自行車、汽車和飛機都是不同的概念,人類通過抽象發明這些概念,并通過相互學習的方式使得大家掌握其含義。如果將焦點放在交通工具上,我們會發現交通效率越高則其概念越抽象,復雜度也越高。或者說,越是抽象的概念,其所隱藏的復雜度就越高。

  從這個關于交通的例子中我們不難發現,現實世界中我們是通過轉移復雜度的方式解決復雜問題的,且每一次不同的轉移都伴隨著抽象概念的建立,轉移的復雜度越多所建立的概念就越抽象。由于復雜度被轉移了后,使得一小部分人專注于被轉移的復雜度(比如制造飛機),而其他絕大部分人在享用復雜度被轉移所帶來好處的同時不用關心被轉移走的復雜度(乘飛機的人不用關心飛機的駕駛與制造)。同樣的事情也發生在軟件行業!不同的是軟件行業“制造”的不是汽車和飛機,而是編程語言、數據庫、平臺和框架等。

  不難發現,軟件設計的關鍵活動應是抽象,通過抽象建立新的概念并將部分復雜度轉移到概念背后。盡管不斷的抽象增加了新概念的復雜度,但也簡化了所需解決問題的復雜度。顯然,好的設計應是其簡化的復雜度要大于因為抽象所創造的復雜度。

it知識庫軟件設計的真諦,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 美国一级毛片aa黑寡妇 | 日韩精品一区二区三区中文在线 | 日本在线观看永久免费网站 | 国产精品自在自线免费观看 | 中文字幕日韩精品麻豆系列 | 国产精品亚洲欧美日韩久久 | 韩国免费乱理论片在线观看2018 | 国产乱来视频 | 国产精品免费视频网站 | 中文字幕亚洲日韩无线码 | 四虎国产精品免费久久久 | 国产大片一区 | 巨臀中文字幕一区二区翘臀 | 2020国产成人精品视频人 | 色久悠悠在线 | 色婷婷久久综合中文久久一本 | 精品国语对白精品自拍视 | 色婷婷激情五月综合 | 国产成人精品999在线观看 | 青青草一区国产97 | 六月婷婷在线 | 欧美日韩一区二区三在线 | 91嫩草国产线免费观看 | 在线视频黄色 | 亚洲精品成人久久久影院 | 亚洲国产精品久久婷婷 | 中文字幕日韩理论在线 | 亚洲国产最新在线一区二区 | 国产午夜视频在线观看网站 | 一区二区三区高清在线 | 69国产成人综合久久精品 | 国产女同一区二区三区五区 | 青青热久| 国产精品欧美日韩精品 | www.xxx欧美 | 国产视频久 | 成人激情视频网站 | 成人看的午夜免费毛片 | 最新国产精品亚洲二区 | 国产成人免费高清激情明星 | 麻豆91视频|