在开始一个项目的时候,要做些什么

版权声明:有些文章写的很随意,那是仅作为个人记录的文章,建议直接关掉,多看一秒亏一秒 https://blog.csdn.net/qq_36523667/article/details/82819443

这是面试官问我的一道题,其实我对这个问题了解得不是很好,而且就算是我说的,我也没有实践过。平时都在开发业务,真的很希望能够自己架构一个大型项目。

我的回答大致如下

1.架构

划分业务模块,提供功能模块(网络、RN这种重量级的单独作为一个模块,另外的杂的并在一起)+接入模块。

打算是组件化架构,因为插件化还没啥公司在用呢,还不成熟,其风险不是我们可以承受的。组件化我了解的不深,就是建立module,可以选择想要的module编译,没加入编译的module则直接用已有的class包,可以是之前编译的存量,也可以保存在云端。

然后架构还有大量的细节,组件化单编译在Gradle的实现,模块资源命名的冲突,功能是存放在模块内还是基类中。。。分为一些比较大的思路、方向点,和小而多的细节。。。需要多看一些架构实践的文章和自己多实践。

2.接入层的开发

我认为,任何框架都是不能直接使用的,必须要用统一的、最正确的方式去调用,由接入层去兼容框架。这样做是分离了业务层与框架层。业务开发人员不再需要关心的框架的使用,发网络请求不必弄复杂的Okhttp,Retrofit,而是ServiceManager.sendRequest。这样做(1)大大提升开发效率,业务人员本来要操心框架+业务,现在只留下了业务,工作量瞬间减半(2)框架替换成本降至0,不管是打算从Okhttp升级到Retrofit或者自己打造网络框架,还是一个框架从v1.0到v10.0,想换就换,只是需要接入层重新去兼容新框架即可。

3.开发业务

1、2点已完成了,就可以开发业务了,base类甚至都不用怎么写,除非是所有页面都需要的功能才会这么去封装一个方法,比如网络请求,loading、错误、空页面。

接下来:产品产需求,评估工期,任务分配。

然后是高效的MVP开发,写写布局,调调接口。。。业务开发就是这么无脑(但是从平凡的事情中做出花来也很不简单,比如:优美代码,快速开发。。。)。。。

猜你喜欢

转载自blog.csdn.net/qq_36523667/article/details/82819443