@Tyhj
2019-02-25T21:52:55.000000Z
字数 1003
阅读 804
设计模式
谈一下自己对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;
代码规范什么的就不用讲了,每个项目都一样;这些都是自己的一些看法,可能还有一些没有考虑到的地方