Posted on 2009-02-28 16:57
canonical 閱讀(1646)
評論(0) 編輯 收藏 所屬分類:
設(shè)計理論
現(xiàn)代數(shù)學(xué)是建立在等價類這一概念的基礎(chǔ)之上的。同構(gòu)是對等價關(guān)系的一種刻劃。簡單的可以把它理解為兩個系統(tǒng)之間的一種“保持”運算規(guī)則的一一對應(yīng)關(guān)系。在
數(shù)學(xué)中一個符號所代表的是所有能夠互相同構(gòu)的對象。例如整數(shù)3可以看作是與某個元素個數(shù)為3的集合可以建立一一對應(yīng)關(guān)系的所有的集合所構(gòu)成的整體。所以在
數(shù)學(xué)中,如果我們解決某個特定的問題,它同時也就意味著我們解決了一系列相互等價的問題。
同構(gòu)關(guān)系對于認知可以起到本質(zhì)上的簡化作用。如果通過一個推理鏈條,確認了A == B == C == D,則可以直接從概念上推導(dǎo)出 A
== D,
這一關(guān)系有可能被直觀理解,而不需要理會中間的推理步驟。(注意到以上元素兩兩建立同構(gòu)關(guān)系的時候可能要采用不同的對應(yīng)手段,因此上面的等式并不是平凡
的。)另一方面,我們可以確定一個模型元素M, 將系統(tǒng)簡化為 A == M, B == M, C == M, D ==
M。只要理解了元素M就理解了等價的其他元素。
Witrix平臺中PDM定義作為基礎(chǔ)的結(jié)構(gòu)模型,它同時映射成為數(shù)據(jù)庫表,以及hbm, java,
meta等多個代碼文件,此外還對應(yīng)于約定的WebObject名稱和BizFlow文件名稱,相應(yīng)的報表文件目錄等。我們只要理解了pdm模型,即可通
過推理自然的掌握各個層面上對應(yīng)的結(jié)構(gòu)。這意味著只要知道實體名稱,就知道如何通過Web訪問這個對象,知道數(shù)據(jù)在數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)庫表,而不需要知道
后臺是如何讀取前臺提交的參數(shù)以及如何執(zhí)行保存數(shù)據(jù)指令的。不僅僅是在模型驅(qū)動領(lǐng)域,在系統(tǒng)設(shè)計的各個方面,我們都應(yīng)該盡量充分的利用當前的信息通過推理
得到系統(tǒng)其他部分的結(jié)構(gòu),而不是通過手工關(guān)聯(lián)或者判斷在程序中動態(tài)維持這種對應(yīng)關(guān)系。例如在flow-cp機制中,biz的id,
action的id等都根據(jù)step配置的id推導(dǎo)得到,這樣在工作列表跳轉(zhuǎn)的時候就可以根據(jù)規(guī)則推導(dǎo)出跳轉(zhuǎn)頁面對應(yīng)的鏈接,而不需要手工編寫頁面重定向
代碼。

同態(tài)(homomorphism)關(guān)系相對于同構(gòu)關(guān)系,只強調(diào)單向映射的可行性,它是一個舍棄屬性的過程。同態(tài)作為最基礎(chǔ)的認知手段之一,它不僅僅是用一
個符號來置換一組元素,而是同時保留了某種全局的運算關(guān)系,因此同態(tài)映像可以構(gòu)成某種獨立的完整的研究對象。通過同態(tài)映射,我們可以在不同的抽象層面上研
究原系統(tǒng)的一個簡化版本。例如meta中的layout是一種典型的領(lǐng)域特定語言(DSL)。
userName userTitle
emailAddress
每一個字段表示了一個可能任意復(fù)雜的inputor或者viewer,
字段之間的前后關(guān)系描述了最終顯示頁面上顯示內(nèi)容的相對關(guān)系。當viewer根據(jù)需求發(fā)生改變的時候,并不影響到layout層面上的關(guān)系,因此
layout可以保持不變。如果我們在系統(tǒng)中把問題分解為多個抽象層面上,多個觀察視角上的同態(tài)模型,則可能實現(xiàn)更高的軟件復(fù)用程度。
在Witrix平臺的設(shè)計中,很多細粒度的標簽都定義為tpl文本段,這樣平臺只要理解某一層面上的交互關(guān)系,實際應(yīng)用中可能出現(xiàn)的細節(jié)在標簽內(nèi)部進行局
部處理,不會突破原始設(shè)計的形式邊界,不會影響到原先設(shè)定的主體系統(tǒng)結(jié)構(gòu)。例如BizFlow中的tpls段,action的source段等。
上世紀50年代以前,生物學(xué)家做夢也想象不到具有無限復(fù)雜性的生物遺傳過程,竟然可以被抽象為ATGC四個抽象符號的串聯(lián)。生命竟然不理會各種已知的或是
未知的物理化學(xué)作用,被抽象的三聯(lián)碼所驅(qū)動。一種抽象的本質(zhì)似乎成了生命世界的本原。在軟件的世界中,可以被識別的抽象元素絕不只是語言本身所提供的那些
機制。