zoukankan      html  css  js  c++  java
  • [大餐]开发摘记1--我的Fragment通信的框架 | 卖牙膏的芖口钉

    [大餐]开发摘记1--我的Fragment通信的框架 | 卖牙膏的芖口钉 盒子
    盒子

    声明:博文未经授权一律不允转载

    如果把通信比作钓鱼,如果每次都有鱼上钩,那么我想可以分为以下四种:

    • 1.鱼钩上不钩饵料,然后抛出去,钩到鱼了,这时候鱼线断了,连线带钩和鱼都没了。
    • 2.鱼钩上钩上饵料,然后抛出去,钩到鱼了,这时候鱼线断了,连线带钩和鱼带饵料都没了。
    • 3.鱼钩上不钩饵料,然后抛出去,钩到鱼了,这时候鱼线没断,连线带钩和鱼带饵料都拉回来了。
    • 4.鱼钩上钩上饵料,然后抛出去,钩到鱼了,这时候鱼线没断,连线带钩和鱼带饵料都拉回来了。

    其实这四种就可以对应着四种不同的通信:

    • 1.A向发了一个空的通知让B响应了,A不需要知道B是否响应(鱼线断了)。
    • 2.A向发了一个携带参数的通知让B响应了,A不需要知道B是否响应(鱼线断了)。
    • 3.A向发了一个空的通知让B响应了,A需要知道B是否响应,最终A得到了B响应结果(鱼线完好,成功回收)。
    • 4.A向发了一个携带参数的通知让B响应了,A需要知道B是否响应,最终A得到了B响应结果(鱼线完好,成功回收)。

    再说的简单一点,那就是:

    • 1.调用“void func()”方法,无参无返回值。
    • 2.调用“void func(P p)”方法,有参无返回值。
    • 3.调用“R func()”方法,无参有返回值。
    • 4.调用“R func(P p)”方法,有参有返回值。

    因为通信无非就是这四种方法,那么就可以抽象出来的这四类方法的类,如果使用四个容器装着,在合适的时候往里添加,并且在合适的时候取出来调用,那么势必可以变成一个解耦通信框架。

    后面会陆续记录开发这个小框架的心路历程。


    项目地址:

    https://github.com/halohoop/Fishing

    已经可以正常使用了。

  • 相关阅读:
    代码高亮测试
    docker详解
    生成python项目的docker模板
    Windows下载Ubuntu的文件,用WinSCP软件(建议用MobeXterm),Ubuntu开启SSH连接
    分配堆内存的四种方式
    像素和rgb
    自由飞翔
    像素和分辨率的关系
    DOM事件阶段以及事件捕获与事件冒泡先后执行顺序
    有点甜 汪苏泷
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12302791.html
Copyright © 2011-2022 走看看