我在學習DSL時遇到了流利的API。
我在流利的API上搜索了很多......我可以得出的基本結論是流利的API使用方法鏈來使代碼流暢。
但我無法理解 - 在面向對象的語言中,我們總是可以創建一個對象並調用與之相關的方法。那麼流利的API有什麼不同?流利的API添加了什麼其他功能?流利的API與其他API有什麼不同?
2
A
回答
1
隨着你編寫返回該方法被調用(通常是自或這)和處理傳統的返回值作爲該對象的狀態改變的對象的方法一口流利的接口。如果你看一些使用流暢接口的Javascript庫,那麼處理列表和空值就容易得多,因爲它們可以像處理單個對象一樣處理。流暢接口的缺點是它們傾向於創建具有整體責任的單片神物。
我不希望它們在任何地方都被使用(因爲上帝對象的問題),但它們不時會很好。
1
您的問題在原始Fluent Interface blog post by Martin Fowler中回答。關鍵是,流利的API流暢性來自領域特定語言的領域,而不僅僅是方法鏈。
相關問題
- 1. Web服務與api有什麼不同?
- 2. 使用嵌套休息流API比其他API有什麼優缺點?
- 3. 用流利的API
- 4. 用流利的API
- 5. WinAPI Shell API與基本API和CRT函數有什麼不同?
- 6. 經與EF流利的API困難
- 7. 流利的Api - 人與創造
- 8. 爲什麼API有不同的URL?
- 9. EF5流利的API映射
- 10. 流利的API映射
- 11. EF用流利的API
- 12. 流利的NHibernate API文檔
- 13. Sitecore SearchResulItem - 流利的API?
- 14. EF Codefirst - 用流利的API
- 15. 流利的API - 一對多
- 16. MSTest有流利的斷言API嗎?
- 17. 流利的api和關係有問題
- 18. 其他API的API網關?
- 19. Facebook的Open Graph API和Graph API有什麼不同?
- 20. local()與R中的其他閉包方法有什麼不同?
- 21. 什麼是等效顯示流利Api中的註釋?
- 22. 爲什麼Windows API比其他API更簡單?
- 23. SkypeKit與Skype API的編程有什麼不同?
- 24. Twitter流API和REST有什麼區別?
- 25. Coverity是否有其他API
- 26. Tomcat API vs其他API
- 27. 什麼是單播DNS?它與其他類型的DNS有什麼不同?
- 28. 與WCF和其他Web服務有什麼不同?
- 29. memcached與其他分佈式緩存有什麼不同?
- 30. JSpinner與其他鞦韆組件有什麼不同?