簡介: 一個功能復(fù)雜的界面,即便將控件和工具類進(jìn)行封裝,視圖控制器依舊達(dá)到了近2000行代碼
層級劃分
-
視圖層
-
控制視圖層
NavigationBarToolBarKeyboardView
-
顯示視圖層
ScoreViewReadyPlayView
-
功能控件層
mainDisplayLinkcoolDownDisplayLinkmetronomeTimerplayermetronomePlayercoolDownPlayer
-
數(shù)據(jù)層
- 彈奏配置類數(shù)據(jù)
- 彈奏記錄類數(shù)據(jù)
- 彈奏數(shù)據(jù)處理方法
設(shè)計思路
-
ZYFiPianoViewController擁有ZYFiPianoControlViewZYFiPianoPlayModel -
ZYFiPianoViewController包含ZYFiPianoControlViewZYFiPianoPlayModel的公共參數(shù) -
ZYFiPianoControlView擁有各類視圖控件以及功能控件 -
ZYFiPianoControlView提供視圖更新外部接口 -
ZYFiPianoControlViewDatasource為ZYFiPianoControlView提供最新的數(shù)據(jù)源 -
ZYFiPianoControlViewDelegate將各類控制事件傳遞給ZYFiPianoViewController -
ZYFiPianoPlayModel響應(yīng)控制事件,更新配置數(shù)據(jù)以及處理數(shù)據(jù) -
ZYFiPianoControlView根據(jù)ZYFiPianoPlayModel更新視圖