Android中對組合模式的應用,可謂是泛濫成粥,隨處可見,那就是View和ViewGroup類的使用。在android UI設計,幾乎所有的widget和布局類都依靠這兩個類。
組合模式,Composite Pattern,是一個非常巧妙的模式。幾乎所有的面向對象系統都應用到了組合模式。
通過本文將讓你學會軟件開發中的"何為樹形結構"、"何為組合模式"、"組合模式可以解決的問題"等相關知識。
內容大綱:
1、樹形結構
2、組合模式
3、編寫文件夾系統
1、樹形結構(大神或者計算機基礎很好的可以跳過,不過這后面通過用面向對象的代碼實現的樹形結構,值得一閱)
在介紹組合設計模式之前,有必要先簡單講講樹形結構,百度一下"樹形結構",你很容易找到關于樹形結構的相關基本概
念:
樹形結構是一層次的嵌套結構。 一個樹形結構的外層和內層有相似的結構, 所以這種結構多可以遞歸的表示。
經典數據結構中的各種樹狀圖是一種典型的樹形結構:一顆樹可以簡單的表示為根, 左子樹, 右子樹。 左子樹和右子樹又有自己的子樹。
樹形結構很容易懂,就和倒過來的大樹一樣,然后有一個根節點,通過根節點我們可以拿到根節點相關聯的子節點,通過子節點我們可以拿到子子節點:
回到上面從百度拷貝來的關于"樹形結構"的基本概念,它提到樹形結構是有層次嵌套的結構,看下面的圖,正因為樹形結構是層次嵌套的結構,
所以從整體和部分的角度來看,外層和內層具有相似的結構,在算法數據結構里是可以用遞歸算法表示的,但是要注意,
遞歸是面向過程語言的說法哦,因為遞歸思想本質也是站在代碼邏輯的執行過程來考慮的。
另外順便也補充一個數學圖形理論的東西:分形。這個也是分形圖形理論的內容。
注:相關教程知識閱讀請移步到IOS開發頻道。





















