- Node.js Design Patterns(Second Edition)
- Mario Casciaro Luciano Mammino
- 292字
- 2021-07-14 11:01:24
Summary
In this chapter, we have seen how the Node.js platform is based on a few important principles that provide the foundation to build efficient and reusable code. The philosophy and the design choices behind the platform have, in fact, a strong influence on the structure and behavior of every application and module we create. Often, for a developer moving from another technology, these principles might seem unfamiliar and the usual instinctive reaction is to fight the change by trying to find more familiar patterns inside a world which, in reality, requires a real shift in the mindset.
On one hand, the asynchronous nature of the reactor pattern requires a different programming style made of callbacks and things that happen at a later time, without worrying too much about threads and race conditions. On the other hand, the module pattern and its principles of simplicity and minimalism create interesting new scenarios in terms of reusability, maintenance, and usability.
Finally, besides the obvious technical advantages of being fast, efficient, and based on JavaScript, Node.js is attracting so much interest because of the principles we have just discovered. For many, grasping the essence of this world feels like returning to the origins, to a more humane way of programming in both size and complexity, and that's why developers end up falling in love with Node.js. The introduction of ES2015 makes things even more interesting and opens new scenarios in which we can embrace all these advantages with an even more expressive syntax.
In the next chapter, we will get deep into the two basic asynchronous patterns used in Node.js: the callback pattern and the event emitter. We will also understand the difference between synchronous and asynchronous code and how to avoid writing unpredictable functions.
- 小創客玩轉圖形化編程
- PHP網絡編程學習筆記
- Oracle數據庫從入門到運維實戰
- C語言從入門到精通(第4版)
- Banana Pi Cookbook
- PHP+MySQL+Dreamweaver動態網站開發實例教程
- Mastering Linux Security and Hardening
- Raspberry Pi Robotic Projects(Third Edition)
- DB2SQL性能調優秘笈
- Get Your Hands Dirty on Clean Architecture
- PHP項目開發全程實錄(第4版)
- Data Manipulation with R(Second Edition)
- Wearable:Tech Projects with the Raspberry Pi Zero
- CryENGINE Game Programming with C++,C#,and Lua
- Python深度學習與項目實戰