- Mastering JavaScript Functional Programming
- Federico Kereki
- 172字
- 2021-07-02 22:41:11
A functional solution
Let's try to be more general: after all, requiring that some function or other be executed only once, isn't that outlandish, and may be required elsewhere! Let's lay down some principles:
- The original function (the one that may be called only once) should do that thing, and no other
- We don't want to modify the original function in any way
- We need to have a new function that will call the original one only once
- We want a general solution that we can apply to any number of original functions
The first principle listed previously is the single responsibility principle (the S in S.O.L.I.D.), which states that every function should be responsible over a single functionality. For more on S.O.L.I.D., check the article by Uncle Bob (Robert C. Martin, who wrote the five principles) at http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod.
Can we do it? Yes; and we'll write a higher-order function, which we'll be able to apply to any function, to produce a new function that will work only once. Let's see how!
推薦閱讀
- Visual Basic .NET程序設計(第3版)
- ClickHouse性能之巔:從架構設計解讀性能之謎
- The Modern C++ Challenge
- Learning Neo4j 3.x(Second Edition)
- Microsoft Dynamics GP 2013 Reporting, Second Edition
- 可解釋機器學習:模型、方法與實踐
- bbPress Complete
- 自然語言處理Python進階
- Haskell Data Analysis Cookbook
- Java實戰(第2版)
- Learning R for Geospatial Analysis
- LabVIEW虛擬儀器入門與測控應用100例
- Android開發三劍客:UML、模式與測試
- Python函數式編程(第2版)
- Neo4j 3.x入門經典