原创 軟件不同於建築

   軟件系統的構建之所以與建築工程不同,無法達到建築工程的精確性和可控性,其中一個很重要的原因在於建築的產物是一個靜態的結構,建築的過程主要是採用各種預製件填充某個規劃好的建築空間,而軟件是一種動態運行的產品,它的各個組成部分之間的關係

原创 資源文件管理

    html主要通過內置的<script>,<link>, <img>等標籤引入外部的資源文件,一般的Web框架並沒有對這些資源文件進行抽象,因此在實現組件封裝時存在一些難以克服的困難。例如一個使用傳統JSP Tag機制實現的Web組

原创 關於代碼生成和DSL

      代碼生成(Code Generation)本身是一個非常宏大的概念。從某種意義上說,當我們明確了計算的意義之後,所做的一切都只是一系列代碼生成的過程,最終的目標是生成某種可執行的機器碼。對web程序員來說,代碼生成是最熟悉不過

原创 關於[認識的悖論]的一些說明

關於哲學的問題是很有意思的,因爲它是引起最多思想衝突的地方。原本[關於認識的悖論]這篇blog是我在重溫維特根斯坦之後反思自己的哲學觀念所寫下的 一些文字。我在具體的推理中是明晰的,但是在哲學思想方面一直是混亂的,所以估計對旁人而言它確實

原创 業務架構平臺的自舉問題

    業務架構平臺的設計與實現要比普通業務系統困難很多。一個核心難點在於如何建立普遍有效的應用程序模型,如何控制各種偶然性的業務需求對系統整體架構的衝擊。大多數現有的業務架構平臺都是提供了一個龐大的萬能性產品,它試圖預料到了所有可能在業

原创 AOP的應用

     AOP(Aspect Oriented Programming)早已不是什麼新鮮的概念,但有趣的是,除了事務(transaction), 日誌(Log)等寥寥幾個樣板應用之外,我們似乎找不到它的用武之地。http://canon

原创 同構與同態:認識同一性

    現代數學是建立在等價類這一概念的基礎之上的。同構是對等價關係的一種刻劃。簡單的可以把它理解爲兩個系統之間的一種“保持”運算規則的一一對應關係。在數學中一個符號所代表的是所有能夠互相同構的對象。例如整數3可以看作是與某個元素個數爲3

原创 從編寫代碼到製造代碼

    軟件開發作爲一種工程技術,它所研究的一個重點就是如何纔能有效降低軟件產品的研發成本。在這一方向上,組件技術取得了空前的成功。它所提供的基本圖景是像搭積木一樣從無到有的組裝出最終的產品。在某種意義上,這是對現代建築工業的模仿和致敬。

原创 AOP on XML Tag

  AOP(Apsect Oriented Programming)概念的正式出現也有一些時日了,但是它在程序構造過程中似乎仍未找到合適的切入點,一般系統的設計實現很少將AOP作爲必要的技術元素。AOP作爲一種普適的技術思想,它所代表的是

原创 結構的穩定性

    結構的穩定性,直觀的理解起來,就是結構在存在外部擾動的情況下長時間保持某種形式不變性的能力。穩定意味着小的擾動造成的後果也是“小”的。在數學中,Taylor級數爲我們描繪了變化傳播的基本圖景。 F(x0 + dx) = F(x0)