继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

解耦与拆分

杨魅力
关注TA
已关注
手记 335
粉丝 56
获赞 259

最近公司做了一个需要拆分SDK的项目,所以涉及了很多拆分的内容,加之有比较多解耦的工作,所以想聊一聊解耦与Java拆分的一些小心得。

背景

因为部分模块中部分功能需要拆分,但是绝大部分是不需要的,还有很多依赖模块需要基础添加,所以这项工作看起来非常巨大,并没有办法直接拆分。SDK尽可能的小,并且需要减少相互之间的依赖。

解耦

在拆分SDK的过程中最先做的应该就是解耦——业务功能性拆分。将业务代码先都拆分到新项目中,这些代码是最顶层的东西,这个时候肯定会有很多文件都会爆红,不要担心,添加依赖其实是下一个步骤的事情。

解耦还需要做那些事情?

接下来就需要分离业务代码以及拆分的依赖代码,需要新建一个依赖目录 例如报名:com.tzduan.demo.sdk.base,可以看出相对应的业务代码应该在com.tzduan.demo.sdk.business下面。这样做是为了便于之后的维护,依赖与业务拆分,避免业务开发人员一不小心修改依赖的代码。

拆分

在代码文件爆红之后,其实就是一个漫长又无聊的过程了,讲爆红的文件一个一个的添加到拆分SDK中,使他们不再爆红。这个过程非常的无脑,但是有一个好处,就是可以保证不会将非本次业务的代码移动出来,又避免了重新开放一份代码的重复造轮子的过程。这期间需要注意的是,依赖文件很有可能是互相依赖的,他们其中的方法很有可能相互引用,导致变相包过大,所以只需要引入业务使用的方法就好,并不要将所有的文件都引入。

拆分tips

因为引入了好多的文件,也稍微有点小心得:
一开始在demo程序中不要依赖SDK module
因为不依赖SDK module的时候你的demo也是可以跑的
在添加依赖的时候先添加资源文件
因为先添加资源文件依赖后,ide可以通过sync不对资源文件报错
在添加java文件或者Kotlin文件的时候,先添加Model文件,然后view文件,presenter文件,最后添加util部分
model比较单一,util关联的文件过多,所以最后添加

最后拆分过程

上面都是讲我这次拆分的思想,最后我想分享一下我这次拆分的过程:

webp

             




作者:AllAboutCoding
链接:https://www.jianshu.com/p/786817bb50e9

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP