你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 動畫設計(1)——高內聚,低耦合原則

IOS 動畫設計(1)——高內聚,低耦合原則

編輯:IOS開發綜合

模塊獨立性(單一職能原則)指每個模塊只完成系統要求的獨立子功能,並且與其他模塊的聯系最少且接口簡單,兩個定性的度量標准就是耦合性和內聚性。

耦合性也稱塊間聯系。是軟件系統結構中各模塊間相互聯系緊密程度的一種度量。模塊之間聯系越緊密,其耦合性就越強,模塊的獨立性則越差。模塊間耦合高低取決於模塊間接口的復雜性、調用的方式及傳遞的信息。

內聚性又稱塊內聯系。指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。若一個模塊內各元素(語名之間、程序段之間)聯系的越緊密,則它的內聚性就越高。

耦合性與內聚性是模塊獨立性的兩個定性標准,將軟件系統劃分模塊時,盡量做到高內聚低耦合,提高模塊的獨立性,為設計高質量的軟件結構奠定基礎。同樣的,在 IOS 動畫設計中,也同樣要求做到高聚類,低耦合。下面舉例說明。

需求很簡單,就是畫一條橫線,2秒後向右位移(持續1秒),4秒後向右位移並在1秒內逐漸消失。
傳統的比較弱的新手寫法如下:
這裡寫圖片描述
把所有的語句都寫在一個函數中,造成 viewDidLoad 函數體臃腫,且可讀性較差,給後期維護與修改帶來不便。<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPrH8s9C4377bwOChorXN8e66z7XE1K3U8qOsz9bX9tDeuMTI58/Co7o8YnIgLz4NCjxpbWcgYWx0PQ=="這裡寫圖片描述" src="/uploadfile/Collfiles/20161003/20161003100223524.png" title="\" />

這裡寫圖片描述
將動畫分解為“出現”和“隱藏”兩種屬性,並將單一的某種動畫屬性(此處為線條的動畫屬性)封裝成類。

此時,便使用高內聚、低耦合的原則設計出了動畫,每個模塊都有其單一職能。由此,可以作出相應總結與理解:

1. 高內聚
具有高內聚性的一個元素,只完成它職責內的事情,而把那些不在它職責內的事情拿去請求別人來完成。如果我是一個項目經理,我的職責是監控和協調我的項目各個階段的工作。當我的項目進入需求分析階段,我會請求需求分析員來完成;當我的項目進入開發階段,我會請求軟件開發人員來完成;當我的項目需要測試的時候,我會請求測試人員……如果我參與了開發,我就不是一個高內聚的元素,因為開發不是我的職責。“高內聚”給軟件項目帶來的優點是:可讀性強、易維護和變更、支持低耦合、移植和重用性強。

2. 低耦合
低耦合就是要求在我們的軟件系統中,某元素不要過度依賴於其它元素。舉個例子,一個程序有50個函數,這個程序執行得非常好;然而一旦你修改其中一個函數,其他49個函數都需要做修改,這就是高耦合的後果。“低耦合”給軟件項目帶來的優點是:易於變更、易於重用。

3. 高內聚與低耦合的類比理解
高內聚、低耦合講的是程序單位協作的問題, 可以這樣理解,一個企業的管理, 最理想的情況就是各個部門各司其職,井然有序,互不干涉, 但是需要溝通交流的時候呢, 各個部門都可以找到接口人專門負責部門溝通以及對外溝通。
在軟件設計中, 就是說各個模塊要智能明確, 一個功能盡量由一個模塊實現, 同樣,一個模塊最好只實行一個功能。這個是所謂的“內聚”; 模塊與模塊之間、系統與系統之間的交互,是不可避免的,但是我們要盡量減少由於交互引起的單個模塊無法獨立使用或者無法移植的情況發生, 盡可能多的單獨提供接口用於對外操作, 這個就是所謂的“低耦合”。
但是實際的設計開發過程中,總會發生這樣那樣的問題與情況,真正做到高內聚、低耦合是很難的,很多時候未必一定要這樣,更多的時候“最適合”的才是最好的,不過,理解思想,審時度勢地使用,融會貫通,靈活運用,才是設計的王道。

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