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

Chapter 1. Node.js Design Fundamentals

Some principles and design patterns literally define the Node.js platform and its ecosystem; the most peculiar ones are probably its asynchronous nature and its programming style that makes heavy use of callbacks. However, there are other fundamental components that characterize the platform; for example, its module system, which allows multiple versions of the same dependency to coexist in an application, and the observer pattern, implemented by the EventEmitter class, which perfectly complements callbacks when dealing with asynchronous code. It's therefore important that we first dive into these fundamental principles and patterns, not only for writing correct code, but also to be able to take effective design decisions when it comes to solving bigger and more complex problems.

Another aspect that characterizes Node.js is its philosophy. Approaching Node.js is in fact way more than simply learning a new technology; it's also embracing a culture and a community. We will see how this greatly influences the way we design our applications and components, and the way they interact with those created by the community.

In this chapter, we will learn the following topics:

  • The Node.js philosophy, the "Node way"
  • The reactor pattern: the mechanism at the heart of the Node.js asynchronous architecture
  • The Node.js callback pattern and its set of conventions
  • The module system and its patterns: the fundamental mechanisms for organizing code in Node.js
  • The observer pattern and its Node.js incarnation: the EventEmitter class
主站蜘蛛池模板: 遵义县| 察隅县| 上蔡县| 儋州市| 江陵县| 闵行区| 宁南县| 大兴区| 吉首市| 南皮县| 万安县| 丹巴县| 台东市| 邵武市| 隆回县| 广南县| 双柏县| 清丰县| 柘城县| 盐边县| 都江堰市| 屏山县| 新龙县| 五华县| 蕉岭县| 通山县| 胶州市| 惠安县| 合肥市| 虞城县| 白城市| 廊坊市| 高淳县| 麦盖提县| 旬邑县| 柳州市| 黄梅县| 乐安县| 保定市| 永川市| 新安县|