在讲这篇文章之前,作为一个Android开发者,我们先思考这样一个问题:
在你使用IDE创建一个项目的时候,
你是否在脑海中已经存在
一个完整的应用架构设计规划?
在你设计的这套系统中,
如何保证系统的稳定和兼容?
你的代码逻辑是否优雅?
性能是否得到提高?
如果你正在思考,或是已经很熟练了,那么不妨来看看这一篇文章,本文主要讲解在Android中的系统架构设计,以一个简单的Android智能分拣柜系统为例。
在这里首先要说明一点,对于开源社区一些框架的选择,一定要选对,选合适的,比如现在比较热门的RxAndroid和EventBus,建议大家如果在企业开发中,特别是产品开发,一定不要选择这两个框架,这里说一下原因:
RxAndroid的缺点不用多说,流式开发,和线程间的随意切换,虽然确确实实提高了我们的开发效率,但是带来的问题也很明显——可读性变差,代码耦合极高,原因可以在项目中自己体会。
接下来说说EventBus消息传递利器,好用是好用,我在以前项目中也大量用了,后来公司来了一个新的同事,发现EventBus.getDefault().post(messageEvent),然后...emmmmm这个消息发哪儿去了?在哪儿接收的?
所以后面我们开发宁可辛苦一点自己写观察者模式去发送监听数据,也不要再使用EventBus了。这些框架确实提升了开发效率,但相应的增加了后期维护成本。
在这个系统中,将整个APP拆分四层,最核心的数据层和通讯层,最高效的组件层和最美丽的UI模块层,其中组件层在本系统中分为4大块,包含UI组件,路由组件,系统组件以及外围组件。
在知道系统的应用架构后,接下来我们需要设计一些基础库,一些封装类来提高效率,保证质量。
接下来的是网络请求,数据库操作,文件操作,配置存储等基础框架设计。
模块化的开发和设计,在开发过程中有助于提高后期效率。
最后,对于功能逻辑的合理规划,也是事关重要,如在智能分拣柜系统中,使用的是平板,主界面用来展示各种信息,如果全部都在Activity中处理,那么此类一定非常膨胀,后期维护成本变得极高,故:
因智能分拣柜系统主界面是用来展示数据信息的,所以:
UPS卖掉货运后,FedEx也考虑剥离货运,全球公路货运寒冬?
5058 阅读41页PPT深度解读京东物流一体化供应链模式!
1706 阅读杨兴运带队,兴满城市合伙人走进满帮!
1096 阅读京东发布自研无人轻卡,注册无人物流商标?刘强东深入汽车圈了?菜鸟、顺丰、京东无人物流车哪家强?
988 阅读全国首个海铁联运专用铁路场站投运
979 阅读刚刚,极智嘉上市!一图速览IPO亮点
996 阅读中国船舶吸收合并中国重工获上交所并购重组审核委员会审核通过
916 阅读物流“客服”的蜕变:从“客户服务经理”走向“客户成功经理”
928 阅读成本大降,无人快递车价格从百万元“杀”到1万多元!业内专家:仍在爆发前夜
863 阅读普洛斯携手极兔,以领先基础设施服务助力“包邮区”加速西进
887 阅读