记自己某款App架构

来源:互联网 发布:h3c vlan删除端口 编辑:程序博客网 时间:2024/05/18 22:55

一: 架构目的


 1: 没有完美的架构,只有刚好的架构,没有满足一切的架构,只有满足目标的架构;


 2: 让数据能清晰顺畅的流转;



二: 搭建 


1: 主框架:Model-View-Controller


2: 辅助:    模块分解,分层封装,MVVM






三: model


1:  model: 数据,持久化


2:  CoreData+MagicalRecord (以前用ORM比较多),




CoreData+MagicalRecord: 会生成 一个model数据层,一个dao层,还有一个Entity文件,

这样对维护或者使用稍微没有那么方便!

用ORM,只有继承某baseModel的数据model,那么就会生成对应的sqlite文件。


四: Controller


1:  Controller:数据传递,交互响应


2:  Controller基类;


3:  Controller+业务 Categary;


4: 有些控制器还是过于庞大(所以需要viewModel);


五: viewModel


1:  viewModel:请求数据,与控制器交互;


2:  网络数据的请求&接受;


3:  kvo&delegate处理;


六: 网络层


1:  bizManager层:业务请求接口层;


2:  httpService:http 公共处理服务


3:  httpClient:AFNetworking;




七: 推送管理器





 总结

  • 项目慢慢变得庞大,页面也渐渐增多;
  • 那么就出现各种页面跳转场景;
  • 很遗憾目前没有route层;
  • 各种VC中充满浸入式代码,然后push/pop;
  • 怎么才能优雅的控制页面跳转呢?

对于route目前看到比较多的是schemeURL跳转,但是需要url与页面建立对应关系;

我个人比较想写个通过运行时来实现,跳转只需要通过VC的name,然后带上参数就

可以跳转。


PS:以上是公司讲解写的ppt,然后顺手带上csdn



1 0