1

在学习 sproutcore 中的构建工具时,我遇到了下面的配置选项,它允许将名为“protocols”的目录中的文件包含在构建中。

:load_protocols => {Boolean}

但我的主要问题是这个protocols目录是什么?它有什么意义?

4

2 回答 2

1

今天,我在工作中得到了前辈的答复。我喜欢与社区分享

存在协议以便方法可以使用 JSDoc 记录,而无需包含在类中。

例如,SC.ResponderProtocol 记录了诸如 mouseDown 之类的方法。如果您在 SC.View 子类中实现 mouseDown,它将被调用。但是,如果您不实现它,SC.View 中就没有默认(空)实现,这只会增加进行无操作方法调用的开销。

协议目录存在一个将它们收集在一起的地方,但由于实现只是占位符,并没有在任何地方实际使用,它们不包含在生产构建中。

于 2012-11-30T16:07:20.833 回答
0

协议是没有实现的各种接口。如果您希望一个对象实现一组特定的方法,您将为此定义一个协议;然后将其放置在协议目录中。

于 2012-11-30T01:51:07.817 回答