[关闭]
@Tyhj 2019-02-25T13:52:55.000000Z 字数 1003 阅读 785

Android开发前的设计

设计模式


谈一下自己对App的整体框架的看法,感觉就是建立一套规范,让我们的开发思路更清晰明了,写代码更高效,代码更易于拓展和维护;我感觉一般就是考虑项目架构、功能模块、需要用到的技术、框架、需要用到的界面控件、数据的存储和需要的一些工具类和测试工具;

了解APP的功能

设计App的整体框架,首先要清楚我们要做的是什么,清楚需要做哪些功能和一些细节,这样才能保证我们之后的设计和决定是正确的;

项目架构

常见的架构有MVC、MVP、MVVM,项目的架构一般是根据项目的大小和功能来决定的。项目比较小,功能比较简单,也不准备后期继续迭代开发,选择MVC简单点快速完成开发就可以了;稍微复杂点,大一点的项目可能就需要MVP或者MVVM来开发,界面和数据分离,保证代码是清晰干净的,易于维护;要是项目的业务比较复杂,业务变化较为频繁,可能选择MVP-clean,每个业务单独写一个用例,保证代码可复用性、灵活性;要是界面数据是经常刷新变化的,使用MVVM自动刷新也挺好;要是项目很大,那可能使用组件化开发比较好...其实也取决于其他开发成员对架构的理解和使用情况

开源框架

网络请求

根据项目的功能来选择一些框架,比如接口多是使用HTTP的话,选用Retrofit或者其他网络框架,即时通讯可能使用Mina或者其他socket框架;

图片加载

网络图片加载比较多可能选择一下Glide、Picasso、Fresco等图片加载框架,有动态图片可能选择Glide;

数据库

数据存储,数据少可能使用OrmLite这种简单易用的就行,数据多了考虑速度快的框架比如Realm;

热门框架

是否使用比较热门的技术来编写代码,比如rxjava、eventbus、Dagger2、Kotlin

界面布局

主要是项目里面有没有什么特殊的控件,有没有使用什么动画,或者material design,可能一些界面还需要用到网页

技术难点

先看一下需要用到哪些技术,能实现的,规划一下怎么去实现;没法实现的比如地图、支付什么的,考虑使用什么三方SDK;

功能模块

根据业务划分一下功能模块

框架搭建

新建项目,先分一下层,集成一些基础类,集成一些工具类;然后集成一些测试的工具,比如内存泄漏检测LeakCanary、界面卡顿检测BlockCanary;

结语

代码规范什么的就不用讲了,每个项目都一样;这些都是自己的一些看法,可能还有一些没有考虑到的地方

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注