观察者和回调之间的巨大差异是什么?何时何地使用哪一个?观察者和回调之间有什么大不同?
7
A
回答
11
这是关于问题的分离。
观察者允许你将不属于模型的代码分解出来。例如,一个User
模型可能会有一个回调,在用户记录保存后发送注册确认电子邮件,但您并不真的需要在模型中使用此代码,因为它与模型的目的没有直接关系。
观察员允许您拥有干净的分隔,因为您的模型中没有所有回调代码。观察者依赖模型(或多个模型),而不是相反。
0
对我来说,这是一回事。但我更喜欢回调而不是Observer。
观察者是回调,但在单独的模型。
回调在模型中。所以你看到有回调,你可以破解它。
0
我很关心保持你的模型合理的精益。所以,当你发现你的模型变得非常可笑时,它可能是重构它来使用观察者的时候了。
从严格的建筑战俘(正如约翰的回答中指出的),它大约是separation of responsibilities,但如果这是一件简单的事情,我宁愿将它固定在模型中。
从技术上讲,几乎没有区别。
相关问题
- 1. 观察者和主题观察者模式之间有什么区别
- 2. Base.save,回调和观察者
- 3. 什么是Java中的回调和观察者模式之间的差异
- 4. 观察者与回调
- 5. 观察者和回调未触发accept_nested_attributes_for
- 6. 听众和观察者之间有概念上的区别吗?
- 7. collection.find与回调和不回调之间有什么区别?
- 8. 改变帧的AVPlayer回调(观察者)
- 9. 导轨观察者自定义回调
- 10. ActiveRecord:单元测试期间调用的观察者回调?
- 11. 在Magento付款之后,最早可以观察的观察者是什么?
- 12. Java观察者和可观察的
- 13. 为什么不从NSNotificationCenter中删除观察者:addObserverForName:usingBlock被调用
- 14. 为什么可观察快照观察者矢量
- 15. 如何异步处理Rails观察者和回调(在不同的线程中)?
- 16. 返回View :: make()和返回Response :: view()之间有什么不同?
- 17. 观察者模式 - 观察者创建
- 18. 默认的zookeeper观察者做什么?
- 19. 观察者模式 - 什么时候到
- 20. AngularJS - 为什么观察者被移除?
- 21. TaskStackBuilder.addParentStack()和TaskStackBuilder.addNextIntent()之间有什么不同?
- 22. app.params()和router.params()之间有什么不同?
- 23. ConfigurationManager.GetSection和Configuration.GetSection之间有什么不同?
- 24. ComboViewer和Combo之间有什么不同?
- 25. “TextClock”和“DigitalClock”之间有什么不同?
- 26. JConnection和JDBC之间有什么不同?
- 27. *&aPtr和&* aPtr之间有什么不同?
- 28. InternalResourceViewResolver和UrlBasedViewResolver之间有什么不同
- 29. paintcomponent()和paintcomponents()之间有什么不同?
- 30. GIS和GPS之间有什么不同?