技术选型
- 目标产品-产品特性、投资性技术
- 目标团队-技术背景
- 技术本身-解决核心问题、单元测试覆盖率、维护团队、社区、优点缺点
架构设计
- 持续补充知识库和工具库
- 编码之前先做结构、层次分析,整理出完整的架构图、类图、时序图
- 多沟通、集思广益
- 多读优秀的源码-学习优秀的设计思想、API 设计、设计模式的最佳实践
- 垂直领域和宽度领域兼顾
- 多端沟通,尽量保证双端架构一致性
- 不局限于己端,了解大前端技术更迭,例如:区别于传统的命令式 UI 更新方式,Flutter, React 的声明式 UI 构建思想,Kotlin 通过扩展函数衍生出的声明式 UI 框架 Compose,以及 SwiftUI 等
MVP
- 依赖倒置
- 抽象出 IView、IPresenter 接口,Presenter 持有并操作 View 和 Model
- IView 和 IPresenter 可以有多个实现
MVVM
- 数据驱动
- VM 持有 Model,VM 提供一个个 Action 供 View 调用来操作 Model,当数据发生变化时 VM 生成新的 UIState 暴露给 View,View 根据新的 UIState 来更新 UI
- VM 不持有 View 的引用,VM 不直接操作
网友评论