美文网首页
解耦的常用套路

解耦的常用套路

作者: 王小贱_ww | 来源:发表于2017-08-08 22:23 被阅读22次
    1.png

    通常我们在网上找的
    第三方开源lib(好比高层模块),我们自己实现的部分好比底层模块,我们通过gradler的方式引入,但是出现扩展问题时,我们需要download下来源码进行修改。
    当我们写项目的时候,改变依赖,低层实现类抽象出来,放到高层类里面。就好比GpsTracker,我们不能在高层类里面去实例一个BaiduTracker(具体实现),我们抽象出来一个LocationTracker,让其成为高层的成员变量,通过工厂模式实例化。

    2.png
    • 高层和低层分别new出来,通过set的方法依赖
    • 通过Helper实现低层,高层依赖Helper


      3.PNG

      为什么会有接口回调?
      如果没有接口回调,高层驱动低层,低层反馈给高层,二者相互引用,互相持有,如果低层想回调高层的方法,即对象.方法,低层调用高层的方法,不应该允许这种行为,因为高层是concroller,控制的模块流程,不应该调用高层的东西,这时候接口就来了。
      高层抽象,低层实现,低层回调接口,高层实现接口。

    相关文章

      网友评论

          本文标题:解耦的常用套路

          本文链接:https://www.haomeiwen.com/subject/irmxrxtx.html