官术网_书友最值得收藏!

Summary

This chapter introduced some semantics of functional programming and how they apply these to Python code. This is by no means a complete guide to functional programming, but it covers everything that is needed to start out with functional programming: lambdas, closures, side effects, pure functions, and higher-order functions.

You should now have all the key elements to start writing functional and reactive applications. Hopefully, just like the many JavaScript developers using it today, you will find the architecture proposed in this chapter elegant, easy to use once you have the correct mindset, and scalable (in term of code size).

The application of this architecture on the echo server showed you how to solve real-life challenges, such as observable cycles. Moreover, by keeping the application logic pure, it becomes easy to add new features by implementing new components and using them through composition. Another benefit of this architecture that was not detailed here, however, is that testing the application logic is easy since it is pure. Many difficulties in unit testing come from side effects that are not present in this code. A typical benefit of testing a pure function is that you never need mocks, but just provide input arguments and check the return value.

The next chapter will cover in detail how observables and observers work. It will explain the different ways to create observables, how to subscribe to them, and how to unsubscribe from them. It will also explain the different types of observables, which has not been discussed yet.

主站蜘蛛池模板: 张家口市| 西畴县| 竹北市| 龙南县| 三穗县| 盘锦市| 仪征市| 朝阳市| 乡宁县| 鄂伦春自治旗| 衡阳市| 台江县| 昆明市| 井冈山市| 平邑县| 临江市| 新和县| 靖远县| 桃江县| 承德县| 白水县| 广饶县| 上虞市| 石林| 华坪县| 永定县| 墨竹工卡县| 青岛市| 启东市| 万州区| 宝应县| 栖霞市| 习水县| 密云县| 普兰店市| 遂溪县| 井陉县| 土默特右旗| 南部县| 敦煌市| 贵德县|