觀察者和回調之間的巨大差異是什麼?何時何地使用哪一個?觀察者和回調之間有什麼大不同?
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之間有什麼不同?