美文网首页
关于事件处理的负责制的讨论

关于事件处理的负责制的讨论

作者: 无影灯 | 来源:发表于2015-11-30 23:49 被阅读26次

缘由

做一个蓝牙方面的 APP,需要在系统进入休眠之前关闭蓝牙,在系统唤醒之后开启蓝牙。是否由这个系统事件来触发蓝牙的开与关?(开关广播,增删服务)

思考

虽然从表面上来看,将这个系统事件作为蓝牙的开关是自然而然的,把它写出来:

系统事件-->APP 中蓝牙的开关

怎么看上述关系都是很别扭的。仔细思考后,实际上有三个时间点来作这个开关:

  1. 系统事件时间点
  • APP 本身的活动时间点
  • 蓝牙状态变化时间点

可能这三个事件本身有一定的因果关系,但是是层层递进的,是有层次的。将蓝牙的想着设定放在系统级和 APP 级都是不合适的,放在蓝牙状态反转时最合适。

结论

  • 相应的事件处理要放在相应级别的状态的切换点。
  • 即使相应级别状态反转由其它层级决定,也应该增加相应的抽象。
    上一点作一下解释:
    层级 A状态变化-->层级 B状态变化,有一事件 层级B 的处理函数 SomeFunc()。若层级 B 没有相应的状态标识,自然想到的处理逻辑就是:
func stateAChange(){
  switch stateA{
    case1: //code
    case2: //code
    ...
   }
}

但是这个逻辑不明确,应该增加相应的抽象层,抽象出一个层级 B 的状态指示标识。

func stateAChange(){
  switch stateA{
    case1: stateB = //
    case2: stateB = //
    ...
   }
}
func stateBChange(){
   //code
}

相关文章

  • 关于事件处理的负责制的讨论

    缘由 做一个蓝牙方面的 APP,需要在系统进入休眠之前关闭蓝牙,在系统唤醒之后开启蓝牙。是否由这个系统事件来触发蓝...

  • 关于结婚事件的讨论

    文:不会说谎的小丑 1 我被邀请参加婚礼 浑然度日的愧疚感是在于一年一度的秋冬开始出现的,当微风转北,秋意正凉,树...

  • javascript 之事件处理函数和事件对象

    本文主要谈及问题: 关于编写跨浏览器的事件处理函数和事件对象 关于编写跨浏览器的事件处理函数和事件对象 为什么要编...

  • 关于负责制

    对于许多人来说,关于负责制,加强请示汇报,加强沟通协调推进,确实是好的,应该还会有许多人或许觉得有点官僚,打心里有...

  • 关于cell内的事件处理

    看了大大的文章,深有体会,很多时候我们确实常常遇到这种情况 我们需要点击头像来触发某个事件,如跳转事件,但是cel...

  • 关于生产事件处理的随笔

    今天已经下班,也已经走到半路了,接到电话,线上出了点情况,要回单位一起评审一下。接到电话,原以为会很快,可以处理完...

  • 关于Android的几种事件处理

    Android事件处理通常和控件相结合,通常有以下几种事件处理模型:•(一)事件监听的处理模型 • 二)基于监听的...

  • 关于Android的几种事件处理

    Android事件处理通常和控件相结合,通常有以下几种事件处理模型:•(一)事件监听的处理模型 • (二)基于监听...

  • 关于iOS事件处理

    1.UIResponser UIResponser是iOS中用来处理用户事件的API,不仅可以接收事件还可以响应和...

  • 关于事件的知识汇总

    关于事件的知识汇总 //DOM0级事件处理程序 var btn = document.getElementById...

网友评论

      本文标题:关于事件处理的负责制的讨论

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