你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS設計形式之組合設計形式

IOS設計形式之組合設計形式

編輯:IOS開發綜合

Android中對組合形式的運用,可謂是眾多成粥,到處可見,那就是View和ViewGroup類的應用。在Android UI設計,簡直一切的widget和結構類都依附這兩個類。

組合形式,Composite Pattern,是一個異常奇妙的形式。簡直一切的面向對象體系都運用到了組合形式。

經由過程本文將讓你學會軟件開辟中的"作甚樹形構造"、"作甚組合形式"、"組合形式可以處理的成績"等相干常識。

內容年夜綱:

1、樹形構造

2、組合形式

3、編寫文件夾體系

1、樹形構造(年夜神或許盤算機基本很好的可以跳過,不外這前面經由過程用面向對象的代碼完成的樹形構造,值得一閱)

   在引見組合設計形式之前,有需要先簡略講講樹形構造,百度一下"樹形構造",你很輕易找到關於樹形構造的相干根本概

念:

   樹形構造是一條理的嵌套構造。 一個樹形構造的外層和內層有類似的構造, 所以這類構造多可以遞歸的表現。

   經典數據構造中的各類樹狀圖是一種典范的樹形構造:一顆樹可以簡略的表現為根, 左子樹, 右子樹。 左子樹和右子樹又有本身的子樹。

  

  樹形構造很輕易懂,就和倒過去的年夜樹一樣,然後有一個根節點,經由過程根節點我們可以拿到根節點相干聯的子節點,經由過程子節點我們可以拿到子子節點:

  

  回到下面從百度拷貝來的關於"樹形構造"的根本概念,它提到樹形構造是有條理嵌套的構造,看上面的圖,正由於樹形構造是條理嵌套的構造,

  所以從全體和部門的角度來看,外層和內層具有類似的構造,在算法數據構造裡是可以用遞歸算法表現的,然則要留意,

  遞歸是面向進程說話的說法哦,由於遞歸思惟實質也是站在代碼邏輯的履行進程來斟酌的。

  別的趁便也彌補一個數學圖形實際的器械:分形。這個也是分形圖形實際的內容。👻感興致的同窗可以百度懂得。

 

  而在這裡我們須要站在面向對象的角度來講,這個形式就是組合形式,但從思惟上和面向進程的遞歸算法思惟是相似的。

  接上去我們經由過程代碼來完成以下圖的簡略二叉樹的構造,固然是用Objective-C來面絕對象的完成喽:  

   

  1-1、起首我們須要創立節點來表現上圖中的每一個元素:


  1-2、然後我們在ViewController.m去應用這個Node節點類來完成下面的二叉樹

  1-3、最初打印看看成果是否是依照二叉樹,從左往右遍歷的:

2、組合形式

  先看看組合形式的UML圖,看不懂可以跳過,我也說明不清晰,說不定今後就看懂了。

  接上去就經由過程代碼完成下圖的組合形式,和下面二叉樹相似,差異上面的不是二叉樹,代碼的差異就是節點類外部用了數組來存儲子節點:

  2-1、創立一個節點對象:

 

  2-2、看看ViewController.m中是若何應用這個節點的:

  

  2-3、打印出成果:

  

3、編寫文件夾體系

關於文件夾體系,其其實運用中或許是PC端運用中都很罕見,一個文件夾包括多個子文件夾和子文件,而子文件夾又包括它的子文件夾和子文件,順次條理往下遞歸。

先看看靜態後果圖:

這個明顯就是組合形式完成的成績域了,所以上面直接看源碼吧:

  就不上代碼給年夜家看了👻,照樣直接分享百度雲的下載鏈接吧:鏈接: http://pan.百度.com/s/1gdRLdIF 暗碼: h8v3

以上所述是小逼給年夜家引見的IOS設計形式之組合設計形式 ,願望對年夜家有所贊助!

【IOS設計形式之組合設計形式】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved