模块设计思路
功能职责细分
- UI组件
- 组件类型
- 如何创建组件
- 菜单获取
- 菜单缓存管理
- 菜单路由跳转
- 组件流式布局
- 下拉刷新动画
- 自定义导航
- 首页、我的业务
- 广告组件
UI组件
组件如何设计?
思路1 - UI组件中包含具体业务
- 优点:快速完成功能,业务服务于UI
- 缺点:业务耦合性太强,没有通用性,程序不好扩展
思路2 - UI组件抽象化
- 优点:类似于UI模板,没有具体业务,形态由外部状态变化决定,扩展性强
- 缺点:额外需要添加兼容性代码,满足各种业务情况
采用组件思路2,模块设计的意义
组件类型
一组枚举值,标注每种组件的类型,和服务端中的组件类型对应
如何创建组件
传入组件类型,通过工厂方法创建实例;业务层可通过该方式获得组件,并传入组件专用model;组件内部根据该model中的item列表展开信息,布局子视图
基础UI模块
纯粹的UI组件库,可以对任意业务模块提供支持和扩展;包含UI组件,组件类型,组件工厂等功能
菜单获取
菜单接口API
缓存管理
将获取到的菜单数据进行本地缓存,开放相应的缓存策略,根据策略获取到菜单数据