【开发思维】什么时候应该命名callback,什么时候应该使用Listener命名?

文章讨论了Android中callback和listener的差异,指出两者主要在于是否主动执行操作。callback常用于主动执行的动作,如发送消息,而listener则常用于被动接收事件,如监听消息接收。开发者应根据代码逻辑选择合适的命名方式以提高可读性。
摘要由CSDN通过智能技术生成

背景

在项目编写的时候产生这样的疑问:Android difference between callback and listener
callBack和listener的区别到底是什么?

思考

根据人家的回答:
在这里插入图片描述

本质上首先需要认识到:两者没有太多区分,无非就是等待数据或者某些动作的到来以触发我们设置好的动作(操作)。

事实上呢~命名的区分有助于开发者理解当前的代码逻辑

如果大家伙对上述的逻辑还是比较模糊那么可以参考我如下的代码:

    public abstract void sendMessage(ZIMMessage message, String toConversationID, ZIMConversationType conversationType, ZIMMessageSendConfig config, ZIMMessageSentCallback callback);
    
public interface ZIMMessageSentCallback {
    void onMessageAttached(ZIMMessage message);

    void onMessageSent(ZIMMessage message, ZIMError errorInfo);
}

这个是抽象方法,其中有一个回调ZIMMessageSentCallback。可以看出来,这个方法是主动去执行某些操作的过程而不是被动的。
很容易理解:人发送信息。而不是 “人被发送信息”,这个逻辑还是比较清晰的。

  • 下面展开关于Listener的表述:
public abstract class IMEventListener {

 public void onReceiveRoomMessage(ZIM zim, ArrayList<ZIMMessage> messageList, String fromRoomID) {
    }
}

上述的onReceiveRoomMessage方法是被动接受信息,采用Listener的命名方式开发者就直接明了,原来是要监听远端的操作哦~

总结

什么时候应该命名callback,什么时候应该使用Listener命名?
个人的看法是:方法偏向主动加上callBack ,反之就加上Listener

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值