一直想寫。
一、研究事物的哲學
因為事物可分類,同一類都有相同的屬性和行為,所以研究方法也相同。
對於電腦中的概念,其實就是普通事物一樣看待,把它當作是一輛汽車,一個工具,一個人,都可以。
在不同事物上總結出來共同的研究方法,就是哲學。
二、架構:整體、全域印象
電腦一個是應用程式,一個是核心程式,一個是作業系統架構,一個是電腦架構.這個順序是從表到裡,從小到大。
應用程式在核心程式上方,作業系統架構包括了二者,而電腦架構則包括了作業系統架構和硬體。
它們就像是一個社會,一個國家,一個世界,層層分工。所以分層的思想觀念是很重要的,另外再加上對象觀念。這和程式語言的發展是一致的,更深點理解,是和人類看世界的觀念是一致的。
起初的人不分區分事物,他們是從過程開始的,強調一步一步,後面,對事物有研究了,發現了事物間的相似之處,就歸納出了各類事物。
像整個過程,是分層的,層和層又是單獨的對象,各層中又有小層,各小層又可當作對象。這樣層層相嵌套,就組成了電腦的世界。
我們如果不能區分出它們的組成,就不能細分他們,如果逆向思維,從設計者的角度來看,就更容易理解了,原來就是這樣從最小最基本的結構慢慢擴充變大而來。
三、組件:API、細節過程
具體而言,對每個細節,就是研究它的屬性和行為,再具體到元操作,就是一種層次化結構了。實至上還是對象,只是沒那麼多豐富的屬性了,但實際上沒有屬性也是一種屬性,空屬性,所以仍是對象。
四、如何學習架構和組件
1、要弄清二者的本質、關係。
掌握架構
是認識事物的整體印象,從而搞清各個組件的關係和重要性,從而最節約地為我所用,不浪費精力,同時搞清重要性和作用,會讓人有動力,知道是可以為我所用的。是為我所用的策略規劃。
掌握組件
是具體實現為我所用。不至於淪為泛泛而談,卻不能實際應用。
2、痛點,即記憶的困難
架構好理解,也比較容易找到生動的比喻來理解,所以有趣,讓人有從高空俯視,一切盡在掌握的感覺。但這是個假象,具體還是要靠熟悉各個組件的功能才行。而組件由於具體對應到電腦上某些硬體或軟體組件了,不容易找到生動有趣的比喻,就會陷入漫天的API細節之中去了,儘是參數、資料結構之類的。
其實,仍是有辦法的,方法仍然是用生動的類比和比喻來說明,只是要求更高、更具體,或者說,要求更逼真的比喻。這是要花費腦筋的,但仍是好過死記硬背,好過臨時手忙腳亂地翻書。
不要認為這樣浪費智力,其實這些記憶量相比我們對日常生活瑣事的記憶要小得多。我們就是要讓它變成和生活瑣事一樣直白簡單,想不記住都難。
3、如何??共同維護文檔、筆記及著書
目前還沒有人嘗試這樣著書立作,其實就可以由學習者共同完成,因為這本身就是思考的過程,只需每看過若干內容,自己在心中用一些生活事物來對照、比較一下。其實,這些設計的思想,都是來源於生活,所以這樣思考不會是強扣歪曲理解。
4、熟悉的標準
要像對日常事物一樣熟悉:馬上想起具體的印象、所處環境、用途。
(1)認識日常事物的方法和標準:
比如我說鍾子,你的腦海中馬上浮現出鍾子的形象,馬上想起它的功用,可以釘東西、敲打、甚至有些鍾子可以拔釘子,也許還會想起你用它做過一些其它稀奇古怪的事,這說明你對這個事物非常地熟悉。
(2)認識電腦中事物的方法和標準:
當我說起電腦中的軟、硬體的某個組件時,
A.聯想起類似、同類事物:
你首先要能馬上想起從抽象角度上類似的幾個日常事物和所在的事物體系。這是歸類,表明你知道它到底是哪一類,能從其它事物中把它區分出來。
B.畫出結構圖和架構地位元影像:
這是對它這個具體對象的認識。
a.結構圖 就是要畫出它的直觀印象,結構詳細就非常好。
b.架構圖 就是要表現出它在整個架構中的作用、旁邊的其它組件、它們之間的關係。這就表明你熟悉它了。
(3)哲理:
歸類和細分,這是認識一個事物的基本方法和熟練程度標準。