在讲这篇文章之前,作为一个Android开发者,我们先思考这样一个问题:
在你使用IDE创建一个项目的时候,
你是否在脑海中已经存在
一个完整的应用架构设计规划?
在你设计的这套系统中,
如何保证系统的稳定和兼容?
你的代码逻辑是否优雅?
性能是否得到提高?
如果你正在思考,或是已经很熟练了,那么不妨来看看这一篇文章,本文主要讲解在Android中的系统架构设计,以一个简单的Android智能分拣柜系统为例。
在这里首先要说明一点,对于开源社区一些框架的选择,一定要选对,选合适的,比如现在比较热门的RxAndroid和EventBus,建议大家如果在企业开发中,特别是产品开发,一定不要选择这两个框架,这里说一下原因:
RxAndroid的缺点不用多说,流式开发,和线程间的随意切换,虽然确确实实提高了我们的开发效率,但是带来的问题也很明显——可读性变差,代码耦合极高,原因可以在项目中自己体会。
接下来说说EventBus消息传递利器,好用是好用,我在以前项目中也大量用了,后来公司来了一个新的同事,发现EventBus.getDefault().post(messageEvent),然后...emmmmm这个消息发哪儿去了?在哪儿接收的?
所以后面我们开发宁可辛苦一点自己写观察者模式去发送监听数据,也不要再使用EventBus了。这些框架确实提升了开发效率,但相应的增加了后期维护成本。
在这个系统中,将整个APP拆分四层,最核心的数据层和通讯层,最高效的组件层和最美丽的UI模块层,其中组件层在本系统中分为4大块,包含UI组件,路由组件,系统组件以及外围组件。
在知道系统的应用架构后,接下来我们需要设计一些基础库,一些封装类来提高效率,保证质量。
接下来的是网络请求,数据库操作,文件操作,配置存储等基础框架设计。
模块化的开发和设计,在开发过程中有助于提高后期效率。
最后,对于功能逻辑的合理规划,也是事关重要,如在智能分拣柜系统中,使用的是平板,主界面用来展示各种信息,如果全部都在Activity中处理,那么此类一定非常膨胀,后期维护成本变得极高,故:
因智能分拣柜系统主界面是用来展示数据信息的,所以:
UPS卖掉货运后,FedEx也考虑剥离货运,全球公路货运寒冬?
4792 阅读公交车送快递,邮政、顺丰、京东物流等巨头纷纷入局
2312 阅读8家快递被曝有一半“向上取整”!快递违规收费全清单!
1401 阅读41页PPT深度解读京东物流一体化供应链模式!
1216 阅读京东物流智狼机器人跑向全国!拣货最快秒级
1199 阅读DPD英国与Yeep!达成战略合作 将新增8000个自提柜
1007 阅读浙江省开通首条往返乌兹别克斯坦全货机航线
1007 阅读链库与新疆海鸿冷链达成战略合作
889 阅读马士基与沙特邮政建立战略合作伙伴关系
875 阅读轩航国际航空物流(深圳)有限公司完成2000万人民币A轮融资
922 阅读