Backbone Radio是什么,为什么要学习和使用它?这个问题,我们先看看官方的介绍:
Backbone.Radio为开发Backbone应用提供了额外的通信模式(messaging patterns);
Backbone 自带有一个事件通信系统(event system)——实现广播订阅模式的Backbone.Events。Backbone.Radio 则增加两项额外的功能:
- 第一个是Requests,一种request-reply的通信模式;
- 第二个是Channels,一种划分通信逻辑边界的机制,可将程序的通信划分为不同的逻辑空间(namespaces)。
我们再看看 Marionette 的解释:
In short, Radio is a global, namespaced, message bus system designed to allow two otherwise unrelated objects to communicate and share information.
简单的说,Radio是一个全局的、可划分逻辑通信空间的通信总线模块(message bus system ),目的是为了让程序中两个不太相关的对象进行通信和共享资源。
以上对Backbone Radio的解释,对于实际开发过Backbone/Marionette应用的人来说,是比较明显的,但是对于只了解Backbone,或者初学者来说,则比较难理解。什么是通信模式?总线是什么?通信空间?两个不相关的对象?
按照「方案、任务、技术和理论」的学习模式,以上官方解释只是Backbone Radio作为一种工具的技术一面,我们需要更多的在任务、和理论原律方面的解释,才能丰富的认识这个工具,掌握这个工具。下面略译《Building Modular Web Apps With Backbone.Radio》一文,补充这方面的信息。