Rails 评论 DHH Callback 的 Video

ksec · March 16, 2018 · Last by matrixbirds replied at March 19, 2018 · 2743 hits

https://ryanbigg.com/2018/03/on-writing-software-well-2-a-review

想知道在,Ruby China 这里的看法,个人来说是偏向 Ryan,Callback 就是 too much magic.

@huacnlee @Rei 怎样看?

我认为有点过度解读了!

Callback 仅仅是一个辅助方式,让你可以在通过 Concern 的方式剥离各种各样复杂业务的时候,能将他们(各种 Concern 实现和基础 Model)组织起来,也可以給 Model 设定必要的基础处理流程。

Callback 被许多人看作是“Callback Hole”,我觉得是理解不够,或者是没有足够的把握好尺度! 这也是理解不够,组织不好(当前也包括我早些时候的一些项目实现,例如 Quora)。

而实际上 Ryan 后面 Mention::EavesdropForMentions 的例子,人家 Basecamp 也在用的:

3 Floor has deleted

@huacnlee 同感,有些解读过度的感觉

callback 可以 快速、水平、松耦合 地为软件扩展 辅助复杂 的功能,也就是 Using callbacks to manage auxiliary complexity

比如在 php 的 wordpress 世界中,就利用 callback 像钩子一样,方便地实现了丰富大量的 plugin。

callback 作为一种设计模式,也和其他的设计模式一样,有长处也有短处,主要看用在什么场合了。

Reply to huacnlee

是"Callback Hell"吧,JavaScript 非常常见,Ruby 也有人喜欢用 yield 模仿

Reply to nouse

好像 nodejs 里面也用了大量的 callback,只是没有细看过,留下这个印象。

Reply to doosolar

nodejs 是因为 low 没办法采用 callback 的

You need to Sign in before reply, if you don't have an account, please Sign up first.