iOS开发笔记之代码设计思路_分层思想

简介: 一个功能复杂的界面,即便将控件和工具类进行封装,视图控制器依旧达到了近2000行代码


层级划分

  1. 视图层

  • 控制视图层
    • NavigationBar
    • ToolBar
    • KeyboardView
  • 显示视图层
    • ScoreView
    • ReadyPlayView
  • 功能控件层
    • mainDisplayLink
    • coolDownDisplayLink
    • metronomeTimer
    • player
    • metronomePlayer
    • coolDownPlayer
  1. 数据层

  • 弹奏配置类数据
  • 弹奏记录类数据
  • 弹奏数据处理方法

设计思路

  • ZYFiPianoViewController拥有ZYFiPianoControlView ZYFiPianoPlayModel
  • ZYFiPianoViewController包含ZYFiPianoControlView ZYFiPianoPlayModel的公共参数
  • ZYFiPianoControlView拥有各类视图控件以及功能控件
  • ZYFiPianoControlView提供视图更新外部接口
  • ZYFiPianoControlViewDatasourceZYFiPianoControlView提供最新的数据源
  • ZYFiPianoControlViewDelegate将各类控制事件传递给ZYFiPianoViewController
  • ZYFiPianoPlayModel响应控制事件,更新配置数据以及处理数据
  • ZYFiPianoControlView根据ZYFiPianoPlayModel更新视图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,015评论 25 709
  • 视图控制器管理着构成应用程序用户界面中的一部分视图,其负责加载和处理这些视图,管理与这些视图的交互,并协调视图对其...
    渐z阅读 4,380评论 0 1
  • 原文链接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影阅读 33,012评论 6 472
  • 昨天把之前写的文字标题全部改为日记,接下来的10天我也会以日记的形式去完成,或许我能写的也只是日记。 年底了,工作...
    东莞紫依阅读 209评论 0 0
  • 不断很喜欢震动这个字眼,它是那么弱小,不温不火,但是却能刺穿全部国际,似乎很巨大的颗粒却能释放出无量的能量。打雷扯...
    riyueqin阅读 162评论 0 0