1、組合模式的定義
將對象組合成樹形機(jī)構(gòu)以表示”部分-整體“的層次結(jié)構(gòu),使得用戶對單個(gè)對象和組合對象的使用具有一致性。
2、組合模式的使用場景
場景一:表示對象的部分-整體結(jié)構(gòu)時(shí)
場景二:從一個(gè)整體中能夠獨(dú)立出部分模塊或功能的場景
3、組合模式的角色劃分
角色一:抽象根節(jié)點(diǎn)
角色二:具體子節(jié)點(diǎn)
角色三:葉子節(jié)點(diǎn)(太監(jiān)節(jié)點(diǎn)->沒有兒子)(Leaf)
IOSUI架構(gòu)設(shè)計(jì)->組合模式
抽象根節(jié)點(diǎn)->UIView
具體子節(jié)點(diǎn)->UITableView、UIImageView
整體->UIView
部分->UIView的子類
3、組合模式的原理案例
案例一:原始案例:
角色一:根節(jié)點(diǎn)->ComponentProtocol
角色二:具體子節(jié)點(diǎn)->Composite
角色三:葉子節(jié)點(diǎn)->太監(jiān)->Leaf
案例二:改進(jìn)案例:
角色一:根節(jié)點(diǎn)->ComponentProtocol
角色二:具體子節(jié)點(diǎn)->Composite
角色三:葉子節(jié)點(diǎn)->太監(jiān)->Leaf
4、組合模式的UML類圖結(jié)構(gòu)
服務(wù)器開發(fā)->ORM設(shè)計(jì)(數(shù)據(jù)ORM設(shè)計(jì)就會(huì)存在這樣的場景)
角色:基礎(chǔ)角色->子角色(管理員、用戶)等