天天看點

老子的軟體之道 - 道篇 1 軟體的本源-抽象

 摘要:軟體哲學、軟體之道、銀彈、人狼、軟體架構                 參閱:序  消滅人狼  軟體的十大命題 程式設計規則

道篇

       你發現構成軟體體系最基本的粒子了嗎? 這是通往軟體之道的門戶。 (參見:軟體架構形态)

1  軟體的本源-抽象

 聖人曰:道可道,非常道。名可名,非常名。無名天地之始。有名萬物之母。故常無欲以觀其妙。常有欲以觀其徼。此兩者同出而異名,同謂之玄。玄之又玄,衆妙之門。

    軟體企業發展的正确之路是客觀存在的,但并不是你看到的通常的發展之路啊。

    軟體工作者或軟體企業都是可以功成名就的,但也不是通常意義上的成功啊。

    軟體體系都是由“無”和“有”構成的啊,覺得有點玄了吧?這就對了,不玄就不是“道”了,别急,别急,開個玩笑,舉幾個例子你就明白了。

     你看任何軟體首先都是建立在一個想法之上的,這個想法就是“無”啊,它看不見摸不着啊。那些資料和代碼就是“有”啊,它們在哪個鐵盒子裡運作着。

     再說一個你熟悉的吧,類,就是你們OO中所謂的哪個類,它相對對象而言就是“無”啊,比方說賬戶類,它虛無缥缈,即不是全部賬戶也不是某一具體賬戶,它似乎什麼都不是,但一切具體賬戶對象都是由它建立的啊。

     “無”、“有”隻是一個高度抽象的名字(同時它們也是“道”的兩個别名,參閱:什麼是哲學),對于不同的具體事務,它們都可以有對應的具體名稱。“無”是宇宙萬事萬物的源頭和起點,“有”是構成宇宙的具體事務。世間萬物都是無中有有,有中有無,無上還有無,有下還有有啊,聽起來有點暈吧,認真思考深刻體會吧,對你程式設計會大有好處的,抽象是軟體的本源啊。

     我們了解了萬物都存在“有”、“無”兩層概念,通常對于事務“無”的層面,我們要注意觀察其微妙的本源和本性,這樣你才能把握本質;對于事務“有”的層面我們要細心觀察它的狀态、邊界、行為模式和變化規律,這樣才有助于對事物本體的了解,反過來促進對其本性的洞悉。(這時已經提出了“道性”、“道體”的概念,注意體會)

     有和無它們實際上又是一個整體啊,隻是不同層面的兩個概念罷了,有無互生,聽起來很玄妙,但實際上很容易了解,其實就是一個抽象的概念,軟體設計的精髓不就是要依賴抽象嗎,這可是登堂入室的大門啊,也是軟體之道。

      你在做類的設計時,可以非常好地體會有無互生的道理,你通過對具體對象的觀察、思考、抽象,建立起了類(有生無),類又在你的軟體系統中生成無數的對象(無生有),是這樣吧,而這一切又誕生于你無形的思考和有型編碼之中,妙啊、玄啊,玄啊、妙啊,這廣袤的宇宙就誕生于這“有”、“無”之中。

     注:老先生注重概念,先從有無論起,并準确地抓住軟體之要點----抽象,一語道破天機。

繼續閱讀