在日常開(kāi)發(fā)中,不管是原理梳理,還是功能設(shè)計(jì),類圖都是繞不開(kāi)的一個(gè)環(huán)節(jié).它能幫我們理清思路,清晰的說(shuō)明類于模塊間的關(guān)系.
那么,在iOS開(kāi)發(fā)中,如何正確的使用類圖呢?
1. 使用工具
推薦draw.io
2. 圖形說(shuō)明
2.1對(duì)象:
首先看我們拽出來(lái)的原樣,
分為三個(gè)部分,分別對(duì)應(yīng):
- 頂部為類名
- 中間為屬性名稱镊尺,即我們的@property,后邊要加上屬性對(duì)應(yīng)的類名
- 尾部為方法
來(lái)捺萌,舉個(gè)例子:
2.2 代理:
要注意的是:
- 并不代表OC中的+方法,而是public膘茎,- 則是private桃纯。
- +/- 后邊有空格,屬性冒號(hào)后邊也是辽狈。類型與代碼的規(guī)則
關(guān)系:
1.泛化(Generalization)
【泛化關(guān)系】:是一種繼承關(guān)系,它指定了子類如何特化父類的所有特征和行為例如:老虎是動(dòng)物的一種.
2.實(shí)現(xiàn)(Realization)
【實(shí)現(xiàn)關(guān)系】:是一種類與接口的關(guān)系慈参,,對(duì)應(yīng)iOS代理模式.表示類是接口所有特征和行為的實(shí)現(xiàn)
【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口
3. 操作
-
添加新數(shù)據(jù)
點(diǎn)擊左右側(cè)的箭頭刮萌,就可以在下方插入新列了驮配。是不是很方便呢?
front着茸,back 操作
移動(dòng)操作
copy as Image 操作
3.關(guān)聯(lián)(Association)
【關(guān)聯(lián)關(guān)系】:是一種擁有的關(guān)系,它使一個(gè)類知道另一個(gè)類的屬性和方法壮锻;如:老師與學(xué)生,viewController下的View
關(guān)聯(lián)可以是雙向的涮阔,也可以是單向的猜绣。雙向的關(guān)聯(lián)可以有兩個(gè)箭頭或者沒(méi)有箭頭,單向的關(guān)聯(lián)有一個(gè)箭頭敬特。
【代碼體現(xiàn)】:成員變量
【箭頭及指向】:帶普通箭頭的實(shí)心線掰邢,指向被擁有者
End:
那么在最后牺陶,我們拿出這張經(jīng)典圖片來(lái)分析試試。有沒(méi)有覺(jué)得很清晰呢辣之?