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

軟件設計的真諦

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

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

軟件設計的真諦

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

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

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

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

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

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

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

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

主站蜘蛛池模板: 中文字幕亚洲激情 | 国产一区二区三区在线免费 | 狠狠久久久久久亚洲综合网 | 国产福利精品一区二区 | 成人激情在线视频 | 亚洲国产欧美国产第一区二区三区 | 国产精品久久久久久久9999 | 丝袜五月天 | 免费一区二区三区视频狠狠 | 日韩午夜 | 久久精品日本免费线 | 国产在线视频二区 | 亚洲成综合人影院在院播放 | 91正在播放极品白嫩在线观看 | 亚洲国产网站 | 91精品国产色综合久久不 | 老司机51精品视频在线观看 | 美国一级做a爰片性色毛片 美国一区二区三区 | 99pao成人国产永久免费视频 | 国产成人啪精品视频免费网 | 在线观看亚洲成人 | 91美女在线播放 | 亚洲国产一 | 看全色黄大色黄大片色责看的 | 视频在线观看91 | 亚洲第一网站 | 亚洲免费精品视频 | 加勒比一区二区三区 | 日本一区二区三区欧美在线观看 | 女人国产香蕉久久精品 | 日韩免费视频一区二区 | 婷婷色爱区综合五月激情韩国 | 看一级毛片国产一级毛片 | 国产特黄1级毛片 | 91视频网页版 | 国产美女在线精品观看 | 国产精品2019| 一区一区三区产品乱码 | 日本一区二区三区在线 观看网站 | 美女很黄很黄的网站 | 91麻豆精品视频 |