原创 連載07:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

依賴和影響對於抽象和繼承來說,其父類和子類的相互依賴是不對稱的,父類可以不依賴於或較弱依賴於子類,也就是說,其子類發生變化,對於父類來說,幾乎沒有影響,但是父類的變化對於子類來說,其影響就很大。我們通過圖形來表達之後,我們將能夠進行置換特

原创 連載16:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

結構化對象軟件系統中存在的對象都爲結構化的對象,例如函數、類、模板類等都可以認爲是一種具有某種特徵的結構化對象。這裏大家需要關注的是,這些結構化對象不關心所處的“質”的處理,而只關注於其“量”的關係,這點可能會導致大家的質疑,比如面向對象

原创 連載12:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

信息熵觀點 針對軟件設計來說,我們可以將所有的設計通過結構化來表達,於是我們的所有的設計信息都可以表達成結構熵的處理。那麼如果系統的結構熵越大,系統就越不穩定,系統的有序化就越小。 那麼是否結構化就表示了系統的有序狀態?我們可以通過熵的定

原创 連載03:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

統一化 打破了這種集合關係,那麼我們需要重新整理一下我們的思路,這些特徵到底是什麼關係呢?感覺有點亂。 不過沒有關係,我們先跳出面向對象的原有的思維方式,我們先從計算機的最基本的處理來看,在計算機裏面我們使用 (值,地址) 這樣的關係對來

原创 連載19:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

幾何和代數特性 對於置換幾何來說,集合S是一個有限的集合,而且其描述爲點集形成的平面,每一個置換點和點集中的小圓點一一對應,如圖2-1所示。    圖 2-1 其在點集中的圖形則就是將不同的置換點進行連接,例如圖2-1所示,我們任意兩點A

原创 連載06:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

可置換性可置換繼續向上融入了分層、虛擬化、微內核等架構設計中,所以正確性、穩定性和可測試性等等特性以外還需要新增一個新的非功能屬性,這就是可置換性,可置換性是一個比較隱式的特性,其外在表現不太爲人所知,雖然在設計過程中,我們已經使用了可置

原创 連載20:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

等價關係和劃分 設 R 是集合 A 上的一個二元關係,若R滿足: 自反性:∀ a ∈A, => (a, a) ∈ R對稱性:(a, b) ∈R∧ a ≠ b => (b, a)∈R傳遞性:(a, b)∈R,(b, c)∈R =>(a, c

原创 連載21:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

代數結構 線性序:設集合X上有一全序關係,如果我們把這種關係用 ≤ 表述,則下列陳述對於 X 中的所有 a, b 和 c 成立:如果 a ≤ b 且 b ≤ a 則 a = b (反對稱性)如果 a ≤ b 且 b ≤ c 則 a ≤ c

原创 連載15:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

從置換到面向對象         對象化的劃分,需要通過邏輯的分解進行,然而分解不過是我們有限的思維能力下的一種使用方法而已,我們在進行邏輯分解的過程中過多誇張了其獨立性,是從某一個角度和一個方面來分解,然而對於無限的客觀對象,我們只能夠

原创 連載10:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

置換的連通性 如果各種置換抽象統一後,那麼其具可以通過領域的相通來表示其置換能夠通達的情況進行描述,所以也可以通過在圖像中進行標識來表現其相通的情況。於是將這樣的形式成爲置換的聯通性,如圖1-10 ~ 1-15所描述的不同設計模式的置換連

原创 連載11:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

置換與軟件複用軟件複用是一種計算機軟件工程方法和理論。60年代的“軟件危機”使程序設計人員明白難於維護的軟件成本是極其高昂的,當軟件的規模不斷擴大時,這種軟件的綜合成本可以說是沒有人能負擔的,並且即使投入了高昂的資金也難以得到可靠的產品,

原创 連載18:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

數學抽象 數學之所以比一切其它科學受到尊重,一個理由是因爲他的命題是絕對可靠和無可爭辯的,而其它的科學經常處於被新發現的事實推翻的危險。…。數學之所以有高聲譽,另一個理由就是數學使得自然科學實現定理化,給予自然科學某種程度的可靠性。   

原创 連載08:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

置換的規範和度量 所以這裏可以看出置換具有統一的“可替換”屬性,在第二章描述的多重繼承體、包含體、包容體、以及函數對象等多個結構中其置換都具有可互聯的特徵,比如多重繼承就是將繼承置換可以通過一條鏈進行下去,而包含體和包容體結構則是通過繼承

原创 連載04:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

置換的公理化過程前面所涉及到的地址和值的“置換”關係以外,賦值、抽象、實現、繼承等也都是一種“置換”的關係,而這種“置換”關係是否只是邏輯上我們的一個創造呢?還是客觀現實中存在呢?這裏我暫時先給出結論:“置換”變換其本質上是物理上存在的一

原创 連載17:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

置換公理化的缺陷雖然我濃墨重彩闡述了“置換”公理化作爲軟件設計中的種種優勢,然而對於公理化過程來說,其本身的缺陷也是顯而易見的。首先需要明確的是:方法不是唯一的,公理化方法是處理方法之一,但是不是唯一。對於經驗性的處理方式,公理化是無法覆