因为我也是小白,所以只是简单说下我的看法,和对架构的一些不成熟的想法,所以总的来说就是为了吐槽这个架构来的。
The Clean Architecture
这是一个外国大神提出来的架构,主要的理念就是向内依赖,简单来说就是外层用到了内层的文件,但是内层决不使用外层的文件,所以可以单独把内层提取出来代码也不会报错,但是把外层弄出来就肯定不行。
暂时我不讨论这个架构怎么牛逼,因为我的境界不到····
MVP
这个大家都知道的吧,这几年很火的,三层架构,虽然我上一个项目已经开始使用了,但是咧,可能认知度不够,写了很多没必要的东西, M V P嘛就是M层P层和V层,其实很多界面就是简单的获取接口数据和填充数据,中间基本没有任何的数据处理(类似关于我们页面),这时候MVP的模式会导致包里面多很多的类,很多的P层接口什么的,我的想法是这种时候P层其实没有存在的必要。但是有些地方,比如朋友圈啊微博啊的那个动态列表,涉及到点赞啊评论啊转发啊这些操作的时候MVP其实又是一种很有必要的模式,虽然一开始会麻烦了点,但是能把各个操作流程都能清晰的理出来,以后的修改啊什么的会方便很多。
所以我的想法就是一个轻型应用核心使用MVP模式,但是简单的界面可以抛弃P层,就好。M层主要负责后台接口数据的获取,V层负责显示就好。这是我理想中的一个快速开发的模式,不过其中的基类其实很重要,我一直想自己封一个来着,一直没啥时间,也感觉封出来的不怎么够用,还是等以后自己再成长一点再说。
吐槽模式
好了我要开始吐槽The Clean Architecture这个东西了,这个是刚进新公司看到的东西,当初我一脸懵逼啊,这都是啥,一查是外国很火的架构,关键词嘛,向内依赖,解耦,看起来不明觉厉···
说下背景,其实我很幸运,三月份打算换工作,刚投简历虽然开始没什么电话,这个说多了都是泪啊,现在工作真的不好找,特别是做android的,都怪培训机构···所以啊看着身边的小伙伴都找到工作走人了,自己还没有着落,还好最后有两个电话,而且很幸运的是两家公司我都是直接面试就拿到offer了,这里说下面试要点,面试咧你要会表达自己的优点,表达自己的作品,要说你擅长的东西,而不是等面试官问一句,你答一句,你要充分展示自己才可以。好了来了新公司工作是三个人合作开发一个类似直播的软件···但是我是最后一个来的,所以之前别人已经搭好框架了,其实这种情况你就要努力适应别人的框架然后开发了···
然而没想到的是The Clean Architecture这个东西再加上MVP,就相当于在M层上面再加了三层数据处理吧,当初我看着就晕,然而有啥办法呢,作为一个新人,要做的就是学习和做好自己的工作,所以我在努力适应,其实代码这东西别人已经写好模版了,你就算不是很能够理解,跟着模版写也是能写出来的。
但是我要吐槽的是,这个直播项目本来就不大,弄了个这么复杂的架构,美其名曰好解耦,弄那么高大上干嘛,特别公司要求的是快速开发,结果咧单单MVP的M层上面居然还有3层这我看来没啥用的data层domin层这些跳来跳去,要请求个接口都要跨越千山万水。最坑的还是请求接口的数据回来了,正常来说用一个Bean类解析就好,现在我不知道是他搭的框架有问题还是咋的,居然先要这data层解析了在P层还要用一个一摸一样的换了名字的类把之前的get出来再set进去,然后在V层再用一个样的重复一遍,也就是说请求个接口数据要用三个一摸一样的类才能到View来使用,这也是说向内依赖来解耦,我心里一万个草泥马在奔腾啊····还有咧我是第一次见到有人合并代码的时候居然一行一行重复review然后要你重新改正的也是个挑战···
不过这些事都不是我能改变的,所以只能好好接受然后努力改变了,除了这点新公司的其他人和事我都很满意,要努力工作~