1. 程式人生 > >類型與關系是分解與組合面對的主要元素

類型與關系是分解與組合面對的主要元素

不同 都是 組類型 數據表 架構 將不 組成 事物 有關

抽象方法一般有兩個分解decomposition和組合composition,這兩種方法的方向正好相反,分解是將整體分解為部分,而組合是將部分組合成整體。

在軟件架構設計和編碼中,我們經常快速靈活使用這兩種方法,比如將一個類分解為多個小類,將一個方法分解為多個方法,或者將幾個類合成一個類一起調用,GoF設計模式中有不少模式是展示這兩種方法的使用,比如橋模式或適配器模式是將幾個類組合在一起調用。

分解和組合經常結合在一起使用,實際就是拆了裝,裝了拆,如同玩玩具一樣,只不過每一次拆裝都是有具體依據。

分解組合實際是一種虛擬重建方法,將現實世界中的模型使用抽象符號分解為一個個基本元素,然後再使用“關系”將它們組合在一起形成一個穩定的結構,形成結構後一個系統就具備了初步的形態。生命正在孕育之中。

以上主要是軟件中的分解和組合使用,其實這兩種方法適合更廣泛的思維方式,分解思維能夠讓人不斷研究細節,比如西醫治病采取的是分解思維,肝臟有病就解剖肝臟,直至分解到細胞;而中醫是采取組合方法,肝臟有病尋找與其有關系的腎臟進行補養,中醫依據的五行水木金火土代表一種關系,肝臟代表木,而腎臟是水,水生木,也就是水能夠滋養植物,所以,中醫才采取補腎的方式治肝。

由此可見,類型與關系是分解與組合面對的主要元素,一個大的事物分解為不同類型的小事物,相同類型的事物可以合並成一組類型,分解時盡量切斷各種關系,除非是高聚合的組成關系,也就是缺一不可的關系,這樣才能孤立事物,研究事物;而組合是拉關系,通過關系將不同事物組裝在一起。如果反映到數據庫建模上,就是先建數據表,再找外鍵關系。

http://www.jdon.com/46793

類型與關系是分解與組合面對的主要元素