架构

好的架构需要解决的问题

  • 可以方便的调用网络API,保证各种网络环境都能体验良好
  • 有效的组织页面代码,减少业务代码的耦合度,和复杂度,提高开发效率
  • 合理安排本地数据的存储,减少性能消耗
  • 可以动态化部署,不发版本就修复bug
  • 方便收集用户数据
  • 合理组织和划分模块
  • 自动化打包和提供QA测试工具
  • 可以打点 跑单元测试 跑性能测试 (先测量后优化)

好的架构的特点

  • 代码整洁,分类明确,没有common等
  • 代码明确 不许文档就能读懂使用
  • 思路和方法统一,不要多元和善变
  • 不要有横向依赖,尽量不要有跨层访问
  • 该限制的要限制,该灵活的需要灵活
  • 易测试 易拓展
  • 保持一定超前性 不论是技术或者产品设计
  • 接口少 接口参数少
  • 高性能()

架构分层

模块关系逻辑上的分层: 这是从模块的功能划分上来说的
三层架构(用的更多): 展现层(数据展示者)、业务层(数据加工者)、数据层(数据管理者)
四层架构: 展现层、业务层、网络层、本地数据层

数据流动架构分层有MVC或者MVVM等等

这两种只是从不同的角度描述架构分层的问题 并没有什么具体联系