從寫第一篇"細說SCA V1.0規範(1) --component與實現"到現在已經有快6個月的時間了。這麼長的時間間隔,最初構思的內容已經無法連貫的寫出來。穩定的收入和充裕的時間是一對矛盾體,有多少人在兩者之間不斷的尋找著一種平衡。
在寫每一篇部落格的時候,總是不能把所有的想出來的內容都寫出來,真的很遺憾。其實可以很多不同領域角度來看SCA,從資料結構的角度來看SCA,可以從軟體開發模型的角度來看SCA,可以從軟體生命週期來看SCA。在每個不同的角度,都可以看到SCA良好的適應性和實用性。言歸正轉,下面說說Domain與業務的部分。
首先,什麼是Domain? Domain不就是域嗎! 那麼域又是什麼含義呢? 上互連網有網域名稱的概念,單位裡有區域網路的概念。這個Domain說白了就是作用的範圍,有一個劃分邊界的含義。一個域就是一個範圍,一個作用地區,在這個地區內包含的內容有一個共同的特性。在同一個領域中每個不同的域之間是有明顯的分界和不同特性的內容。
對於SCA中的每個域是針對於一個業務功能進行劃分的。每個域對應一定的業務範圍,這個業務域可能是一個子系統,也可能是一個模組。比如,財務部門可能有一個財務系統,對應一個財務系統的域。而人力資源對應的是人才管理的域。每個域都對域內的業務提供功能。每個域通過一個URI進行標識。
在SCA構建模型時是從域開始的。一個域的URI標識和領域模型可以是一對一,也可能是一對多的關係。一個URI必然對應一個Domain域且只能是一個。在v0.9規範中沒有Domain域的概念,SCA還是可以run運行起來,所以Domain是一個邏輯上的層次。
Domain域,我理解為兩層。一層是命名層,將URI與Domain域建立關聯,並通過URI實現對Domain領域模型的訪問;另一層是一個Composite層,模型中的對象以Composite組件形式進行組織,但是這些組件是由存在記憶體中的對象組成的,而不是通過外部的檔案解析產生的。這些在記憶體中的對象是通過SCA容器實現初始化、構造、解析等管理的。
<待續>