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

軟件設計的真諦

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

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

軟件設計的真諦

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

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

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

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

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

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

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

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

主站蜘蛛池模板: 欧美一区二区久久精品 | 国产毛片在线看 | 欧美综合区 | 国产精品视频一区二区噜噜 | 亚洲精品第一页中文字幕 | 美女视频一区二区 | 亚洲精品图区 | 草草视频在线免费观看 | 香蕉免费一区二区三区在线观看 | 四虎永久在线精品视频免费观看 | 好吊操视频这里只有精品 | 国产欧美一区二区三区免费看 | 欧美性xxxx人妖 | 91蜜桃视频 | 欧美一区二区三区gg高清影视 | 一日本道加勒比高清一二三 | 99精品大香线蕉线伊人久久久 | 美女扒开屁股让男人桶视频网站 | 一区二区三区午夜 | 国产成人自拍视频在线观看 | 国产精品国产自线拍手机观看 | 七七七久久久久人综合 | 男女午夜性爽快免费视频不卡 | 涩婷婷 | 亚洲一区二区三区亚瑟 | 正在播放一区 | 国产成人免费 | 51国产黑色丝袜高跟鞋 | 嫩草影院一区 | 亚洲天堂视频在线观看 | 国产成人一区二区 | 中文字幕亚洲一区二区v@在线 | 一区二区三区四区日韩 | 香蕉97超级碰碰碰免费公 | 精品日韩在线视频一区二区三区 | 美女被男人桶到嗷嗷叫爽网站 | 欧美色综合网站 | 91国语精品自产拍在线观看性色 | 伊人天天干 | 精品欧美一区二区三区在线观看 | 人人做人人爽人人爱影视 |