其实我这样的程序员很烦讲道理,为啥要做软件的架构呢,,就跟搭房子要地基一样,一个软件的健壮程度,不能说全部取决于基础的架构设计,至少能起到一定的作用吧!(个人愚见,多年的开发经验告诉我,健壮性大概率取决于编码的猿是否秉持了基本设计原则,及有个偏执的review行者)
垃圾话不多说,总之有个好的根基始终百利无一害
So let's do it!
首先需要考虑做一个app,不包含业务导向,其应有的基本功能是什么,由此开启底层架构之路:
1. 设计模式,mvvm设计模式,结合Coroutine (业务开发基础模版)
2. 路由,不同页面的切换,数据传递(Navigation框架)
3. 网络,联网请求数据,数据回来存储(网络框架<Retrofit+Coroutine>、Json框架、SP框架、数据库框架、下载器)
4.图片获取展示压缩裁剪(文件获取压缩解压\视频获取播放压缩及显示帧图)
5.全局拓展支持(消息中心、线程调度<这里主要区分io操作及主线程操作 Coroutine实现>)
网友评论