設計原理
設計原理本質(zhì)上是一種信念、一種想法、一個概念,是你行動的支柱。不管你是制定規(guī)范,還是制造一種有形的物品,或者編寫軟件,甚至發(fā)明編程語言。你都能找到背后的一個或者多個設計原理,多人協(xié)作的任何成果都是例證。不僅僅Web開發(fā)領域是這樣。縱觀人類歷史,像國家和社會這樣大規(guī)模的構(gòu)建活動背后,同樣也有設計原理。
就拿美國為例吧,美國的設計原理都寫在了《獨立宣言》中了。
我們認為這些真理是不言而喻的,人人生而平等,造物主賦予了每個人不可剝奪的權(quán)利,包括生存、自由和追求幸福。
這里有一句口號:生存、自由和追求幸福。這是被寫進憲法中的核心理念,它關系到我們所有人的一切,也就是我們構(gòu)建自己社會的原則。
還有一個例子,就是卡爾·馬克思(Karl Marx),他的著作在20世紀曾被奉為建設社會主義的圭臬。其基本思想大致可以歸結(jié)為下面這條設計原理:
各盡所能,各取所需。
這其實就是一種經(jīng)濟體系背后的設計原理。
還有一個例子,比前面兩個的歷史更久遠一些,不過大同小異:
人人為我,我為人人。
這個極為簡單的設計原理,是兩千年前的拿撒勒猶太人耶穌基督提出來的。而這條原則成為了后來許多宗教的核心教義。原理與實踐有時候并不是同步的。
下面是小說中的一個例子。英國小說家喬治·奧威爾(George Orwell)筆下的《動物莊園》,就是在一條設計原理的基礎上構(gòu)建起來的虛擬社會。這條設計原理是:
四條腿的都是好人,兩條腿的都是壞蛋!
《動物莊園》中有意思的是,隨著社會的變遷——變得越來越壞,這條設計原理也跟著發(fā)生了改變,變成了“四條腿的都是好人,兩條腿的就更好了!弊铌P鍵的是,即使是在虛構(gòu)的作品里,設計原理都是存在的。
還有一套虛構(gòu)的作品是以三條設計原理為基礎構(gòu)建起來的,那就是美國著名小說家艾薩克·阿西莫夫(Issac Asimov)的機器人經(jīng)典系列。阿西莫夫發(fā)明了機器人學這個術(shù)語,并提出了機器人學三大法則,然后在這三個簡單的設計原理基礎上創(chuàng)作了一系列經(jīng)典作品——大約有50本書。無論作品的情節(jié)如何變化,實際上都是從不同的角度來闡釋這三大設計原理。我想,在座各位對機器人三大法則都不應該陌生。
機器人不得傷害人類,或袖手旁觀人類受傷害。 機器人必須服從人類命令,除非命令違反第一法則。 機器人必須自衛(wèi),只要不違背第一和第二法則。
這些恐怕是第一次出現(xiàn)在小說中的針對軟件的設計原理了。雖然基于這三個設計原理的軟件運行在虛構(gòu)的機器人的“正電子腦”中,但我想這應該是軟件設計原理的事實開端。從此以后,我們才看到大量優(yōu)秀軟件背后的設計原理。
蒂姆·伯納斯-李(Tim Berners-Lee),Web的發(fā)明者,在W3C的網(wǎng)站上發(fā)表過一份文檔,其中有一個URL給出了他自己的一套設計原理。這些設計原理并不那么容易理解,不僅多,而且隨著時時間推移,他還會不斷補充、修改和刪除。不過我還是覺得把自己認同的設計原理寫出來放在某個地方真是個不錯的主意。
實際上,CSS的發(fā)明人之一伯特·波斯(Bert Bos),也在W3C的網(wǎng)站上放著一份文檔,其中講的都是基本的設計原理,比如怎樣設計并構(gòu)建一種格式,無論是CSS還是其他格式。推薦大家看一看。
只要你在W3C的站點中隨便找一找,就可以發(fā)現(xiàn)非常多的這種設計原理,包括蒂姆·伯納斯-李個人的。當然,你還會看到他從軟件工程學校里借用的一些口號:分權(quán)(decentalisation)、容忍(tolerance)、簡易(simplicity)、模塊化(modularity)。這些都是在他發(fā)明新格式的時候,頭腦中無時無刻不在想的那些關鍵詞。
在座各位對蒂姆·伯納斯-李的貢獻都是非常熟悉的,因為大家每天都在用。他發(fā)明了Web,與羅伯特·卡里奧(Robert Cailliau)共同發(fā)明了Web,而且在發(fā)明Web的同時,也發(fā)明了我們每天都在Web上使用的語言。當然,這門語言就是HTML:超文本標記語言。
出處:
責任編輯:bluehearts
上一頁 HTML5設計原理 [1] 下一頁 HTML5設計原理 [3]
◎進入論壇網(wǎng)頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|