浅谈项目架构重构:组件化与MVP

您现在的位置:文学期刊 > 西方诗歌,time:2019-06-13 07:30
上一篇:42年高考照片大集合!1980年那张让人久久不能忘 下一篇:没有了

浅谈项目架构重构:组件化与MVP

为什么要进行局部架构重构解决完全局架构的优化,整个项目已经实现模块化,然而这样就足够了吗?来看一看模块内部是什么样的,先看一下相对于简单的模块:看起来还挺干净利落的对吧?采用mvc模式,一个activity承载一个业务。 那么当业务变得复杂且需要与其他activity共用又会变成什么样?以我们项目中相册业务为一个例子。

可以看到,这个层次结构比上面的复杂了一些,在我们的项目中,有几个业务具有相册业务,为了实现可复用性,我们抽取了共用的相册业务Activity,提供一些相册相关的基础业务和操作。

由于校园业务的相册又分视频相册和图片相册,而这两个相册又只有点击和界面的些许不同,大部分逻辑相同,于是又抽取了校园相册的基础Activity。

这是这个复杂业务的大致情况,实际为了复用,这里并不止抽取了这几个Activity,大概是一个不同业务就抽了一个共用的Activity,导致相册这一块的代码逻辑和结构层次极其复杂,混乱。

抽取共用的Activity确实提高了复用度,但是当业务复杂起来,就带来了严重的冗余问题,同时业务的不合理拆分容易造成开发时的混乱。

再看看mvc这块,在图中可能看不出什么端倪,但实际上,在复杂的业务模型下,view与model之间往往纠缠不清,view持有多个model,多个model又持有view,同时大量的controller代码和view代码糅合在Activity中,不仅使得Activity的代码量剧增,难以维护,往往还带来了不少内存泄漏的问题。

为此,采用组件化来改善现有架构,并引入MVP模式优化业务逻辑的处理。 先来看看引入组件化+MVP的架构,能解决什么问题:实现代码上的解耦,减少冗余的Activity。


编辑推荐

友情链接